2013-06-10 2 views
7

파일을 읽은 다음 해당 파일을 기반으로 테스트를 완료하지만 한 시간이 지나면 파일이 다시로드되고 다시 읽을 수 없기 때문에 문제가 발생합니다. 그 시점 이후의 파일.열린 파일을 다시 읽습니다. Python

그래서 : - 새로운 파일 이 같은 수행 읽어 는 파일 에 수행 시험 (하지만이 솔루션의 일부인 경우 그 변경 같은 이름으로) 읽어에서 새로운 파일을 GET 파일을 읽어들에서 새로운 파일을 가져옵니다 새 파일에 대한 테스트

누구나 파이썬이 파일을 다시 읽는 방법을 제안 할 수 있습니까?

+2

퍼팅? 몇 가지 코드를 보여 주시겠습니까? 정확한 문제가 뭐야? – pypat

+2

코드를 표시하지 않으면 어떻게 해결할 수 있습니까? –

+0

커서를 파일 -fp.seek (0)의 시작 부분으로 이동 한 다음 fp.read() –

답변

10

어느 파일

with open(...) as fin: 
    fin.read() # read first time 
    fin.seek(0) # offset of 0 
    fin.read() # read again 

또는 파일을 다시 열의 시작 부분에 seek

(난 당신이 그렇지 않으면 패스 사이에 아무것도하지 않고 시간 동안 열려있는 파일을 유지하고 있기 때문에이 방법을 선호하는 것)
with open(...) as fin: 
    fin.read() # read first time 

with open(...) as fin: 
    fin.read() # read again 

이것은 당신이 무엇을 시도 함께

while True: 
    with open(...) as fin: 
     for line in fin: 
      # do something 
    time.sleep(3600) 
12

당신은 파일의 시작 부분에 다음과 같은 방법으로 커서를 이동할 수 있습니다

file.seek(0) 

그런 다음 당신이 성공적으로 읽을 수 있습니다.

관련 문제