LINUX.ORG.RU

python3 dynamic import

 ,


0

1

Всем привет!

Понадобилось во время выполнения программы на питоне заимпортировать функцию из стороннего модуля. Имя функции одно и то же во всех модулях(предположим, bar), но сам питоновский файл может находится хрен пойми где. Как импортировать такие функции? Пробовал так:

 __import__('/home/user/dir1/foo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named '/home/user/dir1/foo'

__import__('foo.bar')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'foo.bar'; 'foo' is not a package

★★

Последнее исправление: aido (всего исправлений: 1)

Вопрос снят.

a=importlib.import_module('foo', '.dir1')
aido ★★
() автор топика
Последнее исправление: aido (всего исправлений: 1)
├── barone
│   └── bar.py
├── bartwo
│   └── bar.py
└── test.py

test.py:

from barone.bar import bar as bar1
from bartwo.bar import bar as bar2

vvn_black ★★★★★
()
mod = __import__('/home/user/dir1/bar.py')
blah = mod.bar
blah()
InterVi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.