我正在尝试从特定目录导入模块。
问题是,如果我使用 sys.path.append(mod_directory)
附加路径,然后打开 python 解释器,目录 mod_directory
被添加到列表 sys.path 的末尾。如果我在打开 python 解释器之前导出 PYTHONPATH
变量,该目录将被添加到列表的开头。在后一种情况下,我可以导入模块,但在前一种情况下,我不能。
有人可以解释为什么会发生这种情况并给我一个解决方案,将 mod_directory
添加到开头,inside python 脚本?
最佳答案
这是按记录工作的。 PYTHONPATH
中指定的任何路径都记录为通常在工作目录之后但在标准解释器提供的路径之前。 sys.path.append()
追加到现有路径。见 here和 here .如果你想要一个特定的目录首先出现,只需将它插入到 sys.path 的头部即可:
import sys
sys.path.insert(0,'/path/to/mod_directory')
也就是说,管理导入的方法通常比使用 PYTHONPATH
或直接操作 sys.path
更好。例如,参见 this question 的答案。 .
关于python - 将目录添加到 sys.path/PYTHONPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114391/