gpt4 book ai didi

python - 导入与现有包相同的模块

转载 作者:行者123 更新时间:2023-12-01 00:20:42 25 4
gpt4 key购买 nike

我有以下目录结构:

/some/dir
┣ mainmodule
┃ ┣ __init__.py
┃ ┗ module.py
┗ submodules
┣ __init__.py
┗ module
┣ __init__.py
┣ submodule_1.py
┣ ...
┗ submodule_n.py

/some/dir/mainmodule/some/dir/submodules 都不在 pyhton 的库路径上。位于目录 /some/dir/mainmodule 中,我想导入所有模块 (module.submodule_1, ..., module.submodule_n)在目录 /some/dir/submodules 中。

我尝试了以下方法。但我总是得到 ImportError: No module named submodule_1:

>>> import sys
>>> sys.path.append("/some/dir/submodules")
>>> import module.submodule_1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named submodule_1
>>>

问题似乎是 /some/dir/mainmodule 中的 module.py/some 中模块的第一个包同名/dir/子模块。重新命名 module.py 或包可以解决这个问题,但由于这是我正在处理的一些广泛使用的遗留代码,我不知道是否有对这些名称的未记录的引用。因此,我正在寻找一种无需重命名任何文件即可解决此问题的方法。

最佳答案

使用以下行。

sys.path.insert(0, '/some/dir/submodules')

关于python - 导入与现有包相同的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58991987/

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