0
의 마지막에 추가 라인을 읽을 수 없습니다 난 다음 파이썬 코드가 있습니다파이썬 : 파일
이제#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 사용). 당신의 설정은 무엇입니까? –
작성한 후 file.close()를 추가하십시오. –
'with' 문은 이미 파일을 제대로 닫습니다 : https://docs.python.org/2/library/stdtypes.html#file.close –