Можно ли импортировать файл python более одного раза в сценарий python, потому что я запускаю цикл обратно к файлу драйвера в функции с помощью команды импорта, но она работает только один раз? Благодарность
редактировать: Разрешил сам спасибо
Я понял это сейчас, спасибо за ваше время, лол
@ Клинтон: пожалуйста, обновите вопрос, указав ответ, который вы нашли, или напишите ответ, чтобы сделать это для других.






Самый простой ответ - поместить код, который вы пытаетесь запустить, внутри такой функции
(внутри вашего модуля, который вы сейчас импортируете):
def main():
# All the code that currently does work goes in here
# rather than just in the module
(Модуль, выполняющий импорт)
import your_module #used to do the work
your_module.main() # now does the work (and you can call it multiple times)
# some other code
your_module.main() # do the work again
Оператор импорта - по определению - импортирует только один раз.
Вы можете, если хотите, попробовать использовать execfile() (или eval()) для выполнения отдельного файла более одного раза.
Скорее всего, вам не следует использовать импорт для того, что вы пытаетесь сделать.
Без дополнительной информации я могу только догадываться, но вам следует переместить код в импортируемом модуле с верхнего уровня в функцию, выполнить импорт один раз, а затем просто вызвать функцию из цикла.
Хотя ответ Тома Лея - правильный подход, является позволяет импортировать модуль более одного раза, используя встроенную перезагрузку.
module.py:
print "imported!"
>>> import module
imported!
>>> reload(module)
imported!
<module 'module' from 'module.pyc'>
Обратите внимание, что reload возвращает модуль, позволяя при необходимости повторно привязать его.
Вероятно, заменил бы reload (module) на module = reload (module), просто для ясности.
Также см. pyunit.sourceforge.net/notes/reloading.html. Это не так просто, как кажется.
Али: Я подумал об этом, но повторная привязка не важна для перезагрузки, поскольку это влияет на исходную привязку. Я надеялся указать, что вернул модуль, будет достаточно.
Можете ли вы привести краткий пример того, что вы пытаетесь сделать и чего ожидаете?