Shr*_*ram 52 working-directory file-location python-3.x
当我在IDLE中运行以下脚本时
import os
print(os.getcwd())
Run Code Online (Sandbox Code Playgroud)
我输出为
D:\testtool
Run Code Online (Sandbox Code Playgroud)
但是当我从cmd提示符运行时,我得到了
c:\Python33>python D:\testtool\current_dir.py
c:\Python33
Run Code Online (Sandbox Code Playgroud)
我如何获得使用IDLE获得的相同结果?
Mac*_*iek 82
似乎IDLE将其当前工作目录更改为执行脚本的位置,而使用cmd运行脚本时不会这样做,它会保留CWD.
要将当前工作目录更改为包含脚本的目录,您可以使用:
import os
os.chdir(os.path.dirname(__file__))
print(os.getcwd())
Run Code Online (Sandbox Code Playgroud)
__file__
只有从文件执行脚本时,该变量才可用,并且该变量包含文件的路径.更多关于它:Python __file__属性绝对或相对?
uke*_*emi 11
Python 的默认pathlib
库提供了 cwd,如下所示:
import pathlib
pathlib.Path.cwd()
Run Code Online (Sandbox Code Playgroud)
小智 8
使用pathlib可以获取当前文件所在的文件夹。__file__
是从中加载模块的文件的路径名。参考:docs
import pathlib
current_dir = pathlib.Path(__file__).parent
current_file = pathlib.Path(__file__)
Run Code Online (Sandbox Code Playgroud)
文档参考:链接
归档时间: |
|
查看次数: |
178406 次 |
最近记录: |