gpt4 book ai didi

python - 如何在 Python 中临时修改 sys.path?

转载 作者:IT老高 更新时间:2023-10-28 20:33:17 26 4
gpt4 key购买 nike

在我的一个 Python 测试脚本中,我多次使用这种模式:

sys.path.insert(0, "somedir")
mod = __import__(mymod)
sys.path.pop(0)

有没有更简洁的方法可以临时修改搜索路径?

最佳答案

您可以使用简单的 context manager :

import sys

class add_path():
def __init__(self, path):
self.path = path

def __enter__(self):
sys.path.insert(0, self.path)

def __exit__(self, exc_type, exc_value, traceback):
try:
sys.path.remove(self.path)
except ValueError:
pass

然后要导入一个模块,你可以这样做:

with add_path('/path/to/dir'):
mod = __import__('mymodule')

with 语句的主体退出时,sys.path 将恢复到原始状态。如果您只使用该 block 中的模块,您可能还想从 sys.modules 中删除它的引用。 :

del sys.modules['mymodule']

关于python - 如何在 Python 中临时修改 sys.path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com