импорт модуля в оболочку Idle - PullRequest
8 голосов
/ 01 ноября 2011

Я пытаюсь выучить Python, и у меня возникают проблемы с импортом модуля. У меня есть файл .pyc, который я пытаюсь импортировать в пустую оболочку, который называется dfa.pyc

У меня есть файл в папке с именем xyz. Я перехожу к этой папке, используя:

    os.chdir('/Users/xxx/Desktop/xyz')

Итак, теперь, если я попытаюсь выполнить команду:

    from dfa import *

я получаю ошибку:

    ImportError: No module named dfa

Если я запускаю команду:

    os.path.isfile('dfa.pyc') 

возвращает true.

Может кто-нибудь объяснить, как мне импортировать файл dfa.pyc?

Спасибо

Ответы [ 3 ]

10 голосов
/ 01 ноября 2011

Я не думаю, что модули Python загружены, я основываюсь на том, что вы делаете с chdir. Модули загружаются из папки, в которой вы запускали оболочку python, и папок в PYTHONPATH.

Если вы хотите динамически загружать модули, вы можете проверить imp.loadmodule (пример внизу страницы).

9 голосов
/ 02 ноября 2011

вы можете добавить к PYTHONPATH в коде, выполнив

sys.path.append('<newpath'>)
from dfa import *

Я не верю, что изменение вашего текущего каталога окажет какое-либо влияние на процесс импорта, и даже если это произойдет, я не уверен, что этокак бы вы хотели это сделать.

0 голосов
/ 06 апреля 2017

от Брайана Фицджеральда в Загрузка (и выгрузка) модулей Python

"... и это для" не-импорта "

del sys.modules["package"]
del package

"

...