У меня есть следующий игрушечный код в двух файлах:В Python REPL, как получить последний код из всего файла?
Файл b.py
:
def test_b():
print "b"
Файл a.py
: из б импорта test_b
def test_a():
print "a"
test_b()
Тогда я бегу питона REPL:
>>> execfile("a.py")
>>> test_a()
a
b
Тогда я изменить b.py
в: четкости test_b(): печать "бб"
И работать в REPL:
>>> execfile("b.py")
>>> test_a()
a
bb
На данный момент это все в порядке. Теперь я могу изменить a.py
в:
from b import test_b
def test_a():
print "aa"
test_b()
Теперь я бегу в РЕПЛ:
>>> execfile("a.py")
>>> test_a()
aa
b
, который не в порядке, так как больше РЕПЛ получил старую версию b.py
. Кажется, что Python делает кеширование при загрузке файлов, и мой вопрос: есть ли способ заставить его не делать этого? Я не смог найти подходящую опцию для функции excefile
.
Этот ответ полезен для вашего вопроса? http://stackoverflow.com/a/2918951/758446 – BlackVegetable
@BlackVegetable выглядит так, спасибо. Я собираюсь проверить это сейчас. – S4M