Используйте importlib вместо imp для не.py файла

Я хочу импортировать файл как модуль Python с помощью importlib. Этот файл не имеет .py но .cfg расширение. Он содержит код Python.

[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import imp
>>> imp.load_source('myconfig', 'conf.cfg').foo
'bar'
>>> import importlib
>>> importlib.import_module('conf.cfg')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
ImportError: No module named 'conf'

Я могу сделать это с imp.load_source но это устарело. Сделай это с importlib.import_module перерабатывать . как модуль разведки.

Как импортировать conf.cfg файл с importlib?

0 ответов

Другие вопросы по тегам