gpt4 book ai didi

python - 在不同目录中保留具有相同顶级名称的 Python 包

转载 作者:行者123 更新时间:2023-11-28 18:47:30 25 4
gpt4 key购买 nike

我有几个 Python 包,我想将它们保存在不同的文件系统中,但不幸的是它们共享相同的顶级模块名称。

为了说明,目录结构如下所示:

/fs1
/top
__init__.py
/sub1
__init__.py

/fs2
/top
__init__.py
/sub2
__init__.py

在 Python 2.7 中,有什么方法可以设置我的 PYTHONPATH 以便我可以同时导入 top.sub1top.sub2 进入同一个脚本?同时添加 /fs1/fs2 不起作用,因为它只允许导入两个子模块之一(以 PYTHONPATH 中先出现的为准) >).

我可以将两棵树复制/符号链接(symbolic link)为一棵,但出于实际原因我宁愿不这样做。

最佳答案

有几个选项,其中之一是imp:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()

( my source )


另一个是 importlib

亲戚:

importlib.import_module('.sub1', 'fs1.top')

绝对:

importlib.import_module('fs1.top.sub1')

( my source )

关于python - 在不同目录中保留具有相同顶级名称的 Python 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17759145/

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