我想看看什么是最好的方式来确定当前脚本目录在python中? 我发现这两种调用python代码的方法很多,很难find一个好的解决scheme。 这里有一些问题: 如果脚本使用exec , execfile执行,则__file__未定义 __module__仅在模块中定义 用例: ./myfile.py python myfile.py ./somedir/myfile.py python somedir/myfile.py execfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,可以有另一个当前目录。 我知道没有完美的解决scheme,因为在某些情况下,我正在寻找解决大部分案件的最佳方法。 最常用的方法是os.path.dirname(os.path.abspath(__file__))但是如果使用exec()从另一个脚本执行脚本,这种方法是os.path.dirname(os.path.abspath(__file__)) 。 警告 任何使用当前目录的解决scheme都会失败,根据脚本的调用方式,这可能会有所不同,或者可以在运行脚本中更改。
每当我使用sys.path.append ,新的目录将被添加。 但是,一旦我closurespython,列表将恢复到以前的(默认值?)值。 我如何永久地添加一个目录到PYTHONPATH?
我有一个目录,其中包含我所有的Django应用程序( C:\My_Projects )。 我想把这个目录添加到我的pythonpath所以我可以直接调用这个应用程序。 我曾尝试添加C:\My_Projects\; 到我的Pathvariables从Windows GUI( My Computer > Properties > Advanced System Settings > Environment Variables )。 但它仍然不会读取coltrane模块并生成此错误: 错误:没有名为coltrane的模块