我一直在努力导入子模块。在Main.py中,两个模块位于220_04_070下。我使用ementlib,因为目录名称仅由数字组成。 common.py just

问题描述 投票:0回答:0
下。我正在使用

Importlib,因为目录名称仅由数字组成。 -common.py仅包含许多变量。 我遇到的问题是: .../220_04_070/unicorn.py", line 1, in <module> from common import * ModuleNotFoundError: No module named 'common'. 我可以通过在unicorn.py

中的共同点添加一个点来四处走动。但是,由于独角兽在其他部位被独立使用,所以我不想这样做。

from .common import *

the thethecompon.py
main.py

unicorn.py正在使用 -common.py

。结构如下:
|-- main.py
|
|-- 220_04_070
     |-- common.py
     |-- unicorn.py

main.py import importlib uc = importlib.import_module('220_04_070.unicorn') cm = importlib.import_module('220_04_070.common') mycorn = uc.unicorn() Unicorn.py

from common import * class unicorn(): def __init__(self): None
所有人都使用Python3.12.3(Ubuntu 24.04)运行。
,我的问题是我应该如何处理?

我设法使其运行。我有一个解决方案,但是也许还有另一种方法。

i我将我的

common.py
文件更改为:

import importlib #check if it's run from above or from local main() if __name__ == '__main__': common = importlib.import_module('common') else: common = importlib.import_module('220_04_070.common') class unicorn: def __init__(self): None def get_data(self): print("var: ", common.VAR1) def main(): mycorn = unicorn() if __name__ == '__main__': main()

python subdirectory python-importlib
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.