Форум сайта python.su
0
python 2.7.2
c.py
n=0
class cl1:
def set(self):
import c
c.n=1
del(c)
import с
import b
t=b.cl1()
t.set()
del(b)
del(t)
del(c)
import c
print c.n
Отредактировано (Окт. 22, 2011 16:58:14)
Офлайн
253
используйте reload
Офлайн
2
повторная команда import c фактические ничего не делает, в памяти остается все тот же модуль с, загруженный первой командой. Для перезагрузки модуля reload©
Офлайн
0
спасибо, reload то что надо.
Офлайн
0
doza_andОоо, Андрюха, и ты туть!?))
используйте reload
Офлайн
33
>почему после удаление всех сылок на модуль c и повторного его импорта переменая n в модуле c все равно имеет значение 1, а не 0?
как можно импортировать модуль с заново инициализированными переменными?
Потому что инструкция import относительно какого либо модуля может работать только один раз, т. к. она тратит не мало ресурсов
Для обновления загруженного модуля существует функция reload() в 2.X и функция reload() из модуля imp в 3.X
Офлайн