os.path.dirname(os.path.abspath(__file__))
确实是你将获得的最好的。
用
exec/执行脚本是不寻常的
execfile。通常,你应该使用模块基础结构来加载脚本。如果必须使用这些方法,我建议设置
__file__在
globals传递给脚本,以便它可以读取该文件名。
没有其他方法可以在执行代码中获取文件名:如你所述,
CWD可能位于完全不同的位置。

os.path.dirname(os.path.abspath(__file__))
确实是你将获得的最好的。
用
exec/执行脚本是不寻常的
execfile。通常,你应该使用模块基础结构来加载脚本。如果必须使用这些方法,我建议设置
__file__在
globals传递给脚本,以便它可以读取该文件名。
没有其他方法可以在执行代码中获取文件名:如你所述,
CWD可能位于完全不同的位置。