4

假设在 Python 中我加载了一个更改sys.path. 这也会改变装载机sys.path吗?如果是这样,有什么方法可以确保我以后可以恢复它?

相反的情况呢?假设加载程序sys.path在加载模块之前进行了更改。模块会看到常规sys.path(即PYTHONPATH等),还是会看到新的sys.path

4

1 回答 1

4

是的,它会影响sys.path任何地方......你可以保存它并在以后恢复它

import sys
_opath = sys.path[:] #get a copy of whatever sys.path is at this point

#do imports

sys.path = _opath

您也许可以将其转换为元组而不是列表...取决于它们如何添加到可能有效的路径中,但如果它们正在更改路径,它可能会破坏您导入的某些模块

您还可以访问

os.environ["PYTHONPATH"]
于 2013-07-30T02:46:10.843 回答