我想知道在Python中确定当前脚本目录的最佳方法是什么。
我发现,由于调用Python代码的方法很多,很难找到一个好的解决方案。
以下是一些问题:
exec, execfile执行,则__file__没有定义__module__只在模块中定义用例:
./myfile.pypython myfile.py./somedir/myfile.pypython somedir/myfile.pyexecfile('myfile.py')(来自另一个脚本,它可以位于另一个目录,并且可以有另一个当前目录。我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法。
最常用的方法是os.path.dirname(os.path.abspath(__file__)),但如果你用exec()从另一个脚本执行脚本,这就行不通了。
任何使用当前目录的解决方案都会失败,这可以根据脚本调用的方式有所不同,也可以在运行的脚本中更改。