2008-11-09 11 views
2

Можно ли импортировать файл питона больше, чем один раз в питон скрипт, потому что я запустить цикл обратно в мой файл драйвера в функции, используя команду импорта, но это работает только один раз? благодаряКак импортировать файл питона в питон скрипт несколько раз

редактировать: Решенный себя благодаря

+1

Можете ли вы представить краткий пример того, что вы пытаетесь сделать, и то, что вы ожидаете произойдет? – 2008-11-09 23:42:40

+0

я понял это теперь спасибо за ваше время лол – 2008-11-10 00:28:34

ответ

4

Самый простой ответ поместить код, который вы пытаетесь запустить внутри функции, как этот

(внутри модуля, который вы импортируете сейчас):

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 
1

Импорт заявление - по определению - импортирует только один раз.

Вы можете, если хотите, попытаться использовать execfile() (или eval()) для выполнения отдельного файла более одного раза.

7

Вы, скорее всего, не следует использовать импорт за то, что вы пытаетесь сделать.

Без дополнительной информации я могу только догадываться, но вы должны переместить код в модуле, который вы импортируете с верхнего уровня, в функцию, выполнить импорт один раз и просто вызвать функцию из цикла.

1

В то время как ответ Тома Лей - правильный подход, - возможно импортировать модуль более одного раза, используя встроенную перезагрузку.

module.py: 
print "imported!" 

>>> import module 
imported! 
>>> reload(module) 
imported! 
<module 'module' from 'module.pyc'> 

Обратите внимание, что перезагрузка возвращает модуль, позволяющий пересвязать его в случае необходимости.

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