2015-06-17 2 views
0

Прошло некоторое время с тех пор, как я использовал Python и споткнулся уже при простом импорте!Проблема с правилами импорта правил в Python

statements.py:

str = "hello" 

main.py:

import statements 

print statements.str 

Очевидно, что окончательная программа будет иметь больше происходит, и заявления будут такие вещи, как URL. Для этого простого примера, однако с обоих файлов, сидя бок о бок в той же папке, я получаю следующее сообщение об ошибке на Беговой main.py:

AttributeError: 'module' object has no attribute 'str' 

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

+1

Вы использовали импорт правильно, но импортируете модуль без имени 'str'. Что означает 'print statements .__ file__' сообщает, что вы импортировали? –

+2

Кроме того, был ли модуль уже импортирован в ваш сеанс Python перед добавлением имени 'str'? Если это так, вам может потребоваться перезагрузка или, по крайней мере, перезагрузка модуля с помощью 'reload (statements)'. –

+0

Вот именно, я бы сказал, Марджин! Смущающе сказать наименее :-P. Радует все равно! – pminogue

ответ

1

Вы правильно использовали инструкцию import. Ошибка может быть вызвана либо импортом другого модуля с тем же именем, либо изменением модуля после его импорта.

Вы можете проверить print statements.__file__, чтобы узнать, какой модуль Python нашел при импорте, и вы можете использовать reload() function, чтобы попросить Python перезагрузить модуль с диска, если вы его изменили.

Смежные вопросы