0
最後追加行,我有以下Python代碼:的Python:無法讀取文件
#module1
from module2 import reader
def registration(userName, password, fileName, delimiter):
with open(fileName, 'a') as file:
file.write(userName + delimiter + password + '\n')
return reader(fileName, delimiter)
#module2
def reader(fileName, delimiter):
retVal = []
with open(fileName, 'r') as file:
for line in file:
pair = line.split(delimiter)
pair[1] = pair[1].strip()
retVal.append(pair)
return retVal
現在,我應該得到的是具有用戶名和密碼字符串列表的列表。讀者可以讀取先前寫入的條目,但不會讀取剛剛通過註冊功能添加的條目。如果我撥打reader
函數兩次(返回前一次),我的註冊函數確實會返回正確的列表(使用新添加的用戶)。
任何想法爲什麼會發生這種情況?
我不能在這裏重現(在Win7 x64上使用Python 3.4.1)。你的設置是什麼? – 2014-11-02 14:14:52
寫完後嘗試添加file.close()。 – 2014-11-02 14:20:52
'with'語句已經正確關閉文件:https://docs.python.org/2/library/stdtypes.html#file.close – 2014-11-02 14:36:17