python - 加载改变 sys.path 的模块

标签 python

假设我在 Python 中加载了一个更改 sys.path 的模块。这也会改变加载器的 sys.path 吗?如果是,是否有任何方法可以确保我以后可以恢复它?

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

最佳答案

是的,它会影响 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"]

关于python - 加载改变 sys.path 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937402/

相关文章:

python - Django model.objects.all() 在正常调用时给出列表索引超出范围

Python rdflib 和 SPARQL BIND 支持

python - 如何使用 scipy.integrate 获取截断球体的体积?

python - 创建新的Dataframe数据切片问题

python - 使用 Python 的动画 3D 条形图

python - 在字符串中按下 QpushButton 时如何在 QlineEdit 中获取文本?

python - 将.wav文件转换为.mp3

python - 如何编写 python 脚本以在 linux mint 中打开应用程序

python - djangorest框架-全局默认模型序列化器

python - 快速开发路由协议(protocol)原型(prototype)的环境