2013-06-10 15 views
7

मेरे पास एक स्क्रिप्ट है जो फ़ाइल को पढ़ती है और फिर उस फ़ाइल के आधार पर परीक्षण पूर्ण करती है हालांकि मैं एक समस्या में भाग रहा हूं क्योंकि फाइल एक घंटे बाद फिर से लोड हो जाती है और मुझे स्क्रिप्ट को फिर से पढ़ने के लिए नहीं मिल सकता समय के बाद या उस समय फ़ाइल।एक खुली फ़ाइल को दोबारा पढ़ें पायथन

तो: - पढ़ता नई फ़ाइल एक ही प्रदर्शन फ़ाइल पढ़ता फ़ाइल पर प्रदर्शन परीक्षण नई फ़ाइल प्राप्त पढ़ें (लेकिन अगर यह एक समाधान का हिस्सा है कि बदल सकते हैं एक ही नाम के साथ) पढ़ें करने के लिए नई फ़ाइल जाता नई फाइल पर परीक्षण

क्या कोई भी फ़ाइल को फिर से पढ़ने के लिए पाइथन प्राप्त करने का कोई तरीका सुझा सकता है?

+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) 

तो फिर तुम इसे सफलतापूर्वक पढ़ सकते हैं।

संबंधित मुद्दे