В тестовом каталоге есть три папки a, b и c
Код: Выделить всё
(py312) root@ubuntu2004-host:~# tree test/
test/
├── a
│ ├── aa
│ │ └── aaa
│ │ └── aaaa
│ └── a.py
├── b
└── c
└── cxxx.py
6 directories, 2 files
Код: Выделить всё
import importlib
import sys
print(sys.path)
params=importlib.import_module('c.cxxx')
params.args
params.C
Код: Выделить всё
args = {'a': 1}
class C:
def C(self):
pass
p>
Код: Выделить всё
(py312) root@ubuntu2004-host:~/test# python3.12 a/a.py
['/root/test/a', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages']
Traceback (most recent call last):
File "/root/test/a/a.py", line 5, in
params=importlib.import_module('c.cxxx')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1310, in _find_and_load_unlocked
File "", line 488, in _call_with_frames_removed
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1324, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'c'
Подробнее здесь: https://stackoverflow.com/questions/787 ... t-only-the