我从来没有考虑过任何类型的软件分发(我在该项目中使用python),所以现在我不确定文件名处理的“最佳”或最常用方法。现在,我使用可执行程序从顶层目录对所有图像,配置文件...使用相对路径。
因此,当从其他位置执行程序时,它自然会失败。我的问题是,是否可以将程序的beginnig中的当前工作目录更改为__file__的目录名(它在子shell中执行,所以我看不到此问题-但我想独立运行platfrom,所以我不确定Windows如何处理它,或者如果出现问题我可以使用distutils并安装整个程序来解决(我不想这样做)。还是还有其他(更好)的方法?
因此,基本上我可以轻松解决问题,我只想知道通常要做什么,谢谢您的建议。
最佳实践是使用绝对路径。
使用__file__
不更改目录的路径,而是使用它来计算用于构建绝对路径的基本路径。在顶层模块中,添加:
import os.path
BASE = os.path.dirname(os.path.abspath(__file__))
并重复使用BASE
以构建绝对路径:
abspath = os.path.join(BASE, relpath)
更改工作目录几乎是不需要或有用的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句