假设在Python中,我加载了一个更改sys.path的模块。这也会改变加载程序的sys.path吗?如果是这样的话,有什么方法可以确保我以后可以恢复它呢?
相反的情况呢?假设加载程序在加载模块之前对sys.path进行了更改。模块会看到常规的sys.path (即PYTHONPATH等),还是会看到新的sys.path
发布于 2013-07-30 02:46:10
是的,它会影响到任何地方的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"]https://stackoverflow.com/questions/17937402
复制相似问题