У меня есть три модуля:
one.py
:
def abc():
print "Heeeeeeeeeeeiiiiiioooooooooo"
two.py
:
import one
def defg():
one.abc()
three.py
:
import os
from time import sleep
import two
two.defg()
sleep(20)
directory = os.listdir('.')
for filename in directory:
if filename[-3:] == 'pyc':
print '- ' + filename
os.remove(filename)
У меня три сомнения. Пожалуйста, помогите мне .
Когда я запускаю three.py
в первый раз, будут созданы one.pyc
и two.pyc
. Я вижу это, так как я дал 20 секундную задержку. После выполнения оператора os.remove(filename)
они удаляются. Пока здесь хорошо.
Снова, не закрывая IDLE и скрипт, я запустил three.py
. На этот раз файл .pyc
не был создан. Почему это так ?
Если я закрою IDLE так же, как и сценарий, .pyc
будет создан, как и раньше.
Почему скомпилированный код не создается снова и снова?
Кроме того, если я внесу изменение в one.py
, оно не будет показано, если я бегу без закрытия оболочек. Мне тоже нужно решение для этого.
Третье сомнение - , если скомпилированный код удаляется сам в первый раз, то как второй запуск дает тот же результат без .pyc
?
Надеясь на решение ...