【发布时间】:2013-04-04 20:30:55
【问题描述】:
所以,我正在学习 Python,并想创建一个简单的脚本来从 Internet 下载文件,然后将其写入文件。但是,我使用的是 IDLE,不知道 IDLE 中的工作目录是什么或如何更改它。如果我不知道工作目录或如何更改它,如何在 IDLE 中处理文件系统?
【问题讨论】:
标签: python python-idle
所以,我正在学习 Python,并想创建一个简单的脚本来从 Internet 下载文件,然后将其写入文件。但是,我使用的是 IDLE,不知道 IDLE 中的工作目录是什么或如何更改它。如果我不知道工作目录或如何更改它,如何在 IDLE 中处理文件系统?
【问题讨论】:
标签: python python-idle
您可以使用os.getcwd 轻松检查自己:
>>> import os
>>> os.getcwd()
'C:\\Program Files\\Python33'
那是在我的Windows机器上,所以它可能是Python本身的安装目录。
您可以在运行时使用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.')
这将——毫不奇怪——在我的桌面上创建文件。
【讨论】:
您可以使用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.
【讨论】:
os.chdir()。
这取决于操作系统以及 IDLE 的执行方式。
要更改 Windows 中的(默认)CWD,请右键单击快捷图标,转到“属性”并更改“开始于”。
【讨论】:
这是usfca.edu的摘录
如果您希望能够在 IDLE 中轻松导入文件,则需要确保 IDLE 的工作目录设置为包含所有代码的文件夹。例如,我的课堂代码位于目录/Users/sjengle/Desktop/Code,所以要更改IDLE的工作目录我需要运行以下两个命令:
import os
os.chdir("/Users/sjengle/Desktop/Code")
【讨论】:
我知道的老问题,但也许 OP 的问题没有得到回答?如果您希望 Idle 的 File Open/Save/Save As 菜单项与特定文件夹交互,您需要在启动 Idle 之前设置 CWDbefore。因此,假设您在 Windows 上有一个文件夹“C:\Userscd C:\Users\<username>\Documents\python\my_project,然后启动 Idle
【讨论】: