What's the working directory when using IDLE?

Question:

So, I’m learning Python and would like to create a simple script to download a file from the internet and then write it to a file. However, I am using IDLE and have no idea what the working directory is in IDLE or how to change it. How can I do file system stuff in IDLE if I don’t know the working directory or how to change it?

Asked By: Nathan2055

||

Answers:

You can check that using os.getcwd():

In [1]: import os

In [2]: os.getcwd()
Out[2]: '/home/monty'

In [7]: os.chdir("codechef")    #change current working directory

In [8]: os.getcwd()
Out[8]: '/home/monty/codechef'

os.chdir():

In [4]: os.chdir?
Type:       builtin_function_or_method
String Form:<built-in function chdir>
Docstring:
chdir(path)

os.getcwd():

Change the current working directory to the specified path.

In [5]: os.getcwd?
Type:       builtin_function_or_method
String Form:<built-in function getcwd>
Docstring:
getcwd() -> path

Return a string representing the current working directory.
Answered By: Ashwini Chaudhary

You can easily check that yourself using os.getcwd:

>>> import os
>>> os.getcwd()
'C:\Program Files\Python33'

That’s on my Windows machine, so it’s probably the installation directory of Python itself.

You can change that directory at runtime using os.chdir:

>>> os.chdir('C:\Users\poke\Desktop\')
>>> os.getcwd()
'C:\Users\poke\Desktop'
>>> with open('someFile.txt', 'w+') as f:
        f.write('This should be at C:\Users\poke\Desktop\someFile.txt now.')

This will—not surprisingly—create the file on my desktop.

Answered By: poke

This will depend on OS and how IDLE is executed.

To change the (default) CWD in Windows, right click on the Short-cut Icon, go to “Properties” and change “Start In”.

Answered By: user2246674

Here is an excerpt from usfca.edu

If you want to be able to import your files easily in IDLE, you need to make sure the working directory for IDLE is set to the folder with all of your code. For example, my in-class code is located at the directory /Users/sjengle/Desktop/Code, so to change the working directory of IDLE I need to run the following two commands:

import os
os.chdir("/Users/sjengle/Desktop/Code")
Answered By: iCodeSometime

Old question I know but maybe the OP’s question was not answered? If you want Idle’s File Open/Save/Save As menu items to interact with a particular folder, you need to set the CWD before starting Idle. So, assuming you have a folder on Windows "C:Users<username>Documentspythonmy_project", then at a cmd prompt type cd C:Users<username>Documentspythonmy_project and then start Idle

Answered By: Paul Stevens
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.