Python продолжает ссылаться на устаревшие переменные
У меня какая-то странная проблема, вот моя попытка объяснения:
В настоящее время я делаю программу, которая открывает текстовый файл и затем читает строку для этого файла, используя следующую команду linecache.getline(path,number), после того, как функция выполнена, я использую комманду linecache.clearcache.
Если я затем что-то изменяю в текстовом файле, он продолжает возвращать предварительно измененную строку.
Ниже приведен код, который я использую (я знаю, что это не очень красиво)
def SR(Path,LineNumber):
returns = lc.getline(Path,LineNumber)
x = np.array([])
y = np.array([])
words = returns.split()
for word in words:
x = np.append([x],[word])
for i in range(len(x)):
t = float(x[i])
y = np.append([y],[t])
return y
del x
del y
del t
del words
lc.clearcache()
1 ответ
Ничего после return
заявление когда-либо будет выполнено. Если вы хотите позвонить clearcache
Вам нужно позвонить до return
заявление.
Кроме того, как примечание, ваш del
заявления на самом деле ничего не сделают, даже если они были помещены перед return
, del
фактически просто уменьшает счетчик ссылок в gc, что произойдет, когда интерпретатор все равно выйдет из области действия функции.