What's the working directory when using IDLE?

2019-03-08 11:04发布

问题:

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?

回答1:

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.



回答2:

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.


回答3:

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".



回答4:

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")