2013-06-10 18 views
7

Bir dosyayı okuyan ve daha sonra bu dosyaya dayanan testleri tamamlayan bir komut dosyası var, ancak bir saat sonra dosya yeniden yüklendiğinden ve yeniden okuyamam için bir sorunla karşılaşıyorum Dosya bu noktadan sonra veya zamanda.Açık bir dosyayı yeniden okuyun Python

Yani: - yeni bir dosya aynı performansı okur dosyada üzerinde gerçekleştirdiği testler (ama bir çözümün parçası ise bunu değiştirebilirsiniz aynı adı taşıyan) OKUNMASI YENİ DOSYA GET dosyayı okur OKUNMASI YENİ DOSYA ALDI yeni dosyada sınamalar

Python'un dosyayı yeniden okuması için bir yöntem önerilebilir mi?

+2

koymak? Bize biraz kod gösterebilir misin? Tam olarak sorun nedir? – pypat

+2

Bize kodunuzu göstermezseniz nasıl düzelteceğinizi size nasıl gösterebiliriz? –

+0

İmleci, dosya-fp.seek (0) başlangıcına ve ardından fp.read() öğesine taşıyın. –

cevap

10

Ya dosyanın

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

veya dosyayı yeniden açmak başlangıcına seek

(Ben aksi geçişler arasında hiçbir şey yapmadan bir saat açık dosya tutuyor beri böyle tercih ediyorum)
with open(...) as fin: 
    fin.read() # read first time 

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

bu ne denedi birlikte

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

Sen Dosyanın başına aşağıdaki şekilde imleci hareket ettirebilirsiniz:

file.seek(0) 

Sonra başarıyla okuyabilirsiniz.

İlgili konular