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?
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.
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.
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”.
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")
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
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?
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.
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.
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”.
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")
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