这似乎是一个新手问题,但事实并非如此.一些常见的方法并不适用于所有情况:
这意味着使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但如果您从另一个目录中的另一个Python脚本运行,这不起作用,这可能发生在现实生活中.
这意味着使用path = os.path.abspath(os.path.dirname(__file__)),但我发现这不起作用:
py2exe没有__file__属性,但有一个解决方法execute()没有__file__属性NameError: global name '__file__' is not defined回答不完整的相关问题:
我正在寻找一个通用的解决方案,一个适用于所有上述用例的解决方案.
这是测试用例的结果:
a.py: __file__= a.py
a.py: os.getcwd()= C:\zzz
b.py: sys.argv[0]= a.py
b.py: __file__= a.py
b.py: os.getcwd()= C:\zzz
Run Code Online (Sandbox Code Playgroud)
#! /usr/bin/env python
import os, sys
print "a.py: sys.argv[0]=", sys.argv[0]
print "a.py: __file__=", __file__
print …Run Code Online (Sandbox Code Playgroud) 我有一个python代码来创建一个数字.在展示之后plt.show(),我想保存这个数字.
为了避免弄乱纵横比,分辨率等,我不想savefig在代码中使用-command.相反,我想使用图窗口中的"保存图"按钮.
但是,默认情况下,它会提示我的主文件夹作为保存位置.我希望save能自动存在于执行代码的目录中.
如何/在哪里可以更改此窗口默认路径以保存到当前文件夹(或其他位置)?
我在开始时尝试将此命令从 Change目录更改为Python脚本的目录,但它没有帮助,即使正确提供了文件名:
os.chdir(os.path.dirname(__file__))
Run Code Online (Sandbox Code Playgroud)