file io - Understanding the "tail -f in python" -


मैंने एक बहुत ही सरल अजगर स्क्रिप्ट बनाई है:

  def read_then_follow (file): के लिए फ़ाइल में पंक्ति: उपज लाइन जबकि सही: लाइन = file.readline () अगर नहीं पंक्ति: time.sleep (1.0) लाइन के लिए read_then_follow ("some_file.txt") में उपज लाइन जारी रखें: प्रिंट लाइन   

फ़ाइल "some_file.txt" में पाठ की कुछ पंक्तियां होती हैं, जो कि स्क्रिप्ट को चलाने पर स्क्रीन पर लिखी जाएगी। अगर मैं तब गूंजती "रेखा" & gt; & gt; के साथ फ़ाइल में एक पंक्ति जोड़ता हूं Some_file.txt , लाइन 1 सेकंड के भीतर स्क्रीन पर मुद्रित की जाएगी। लेकिन: अगर मैं वीम में फ़ाइल खोलता हूं, तो नीचे एक पंक्ति जोड़ें और सहेजें, स्क्रिप्ट कार्य करने के लिए बंद हो जाती है यह न तो विम में लिखी गई नई लाइन को स्क्रीन और न ही आगे इको ... आदेशों के लिए लिखा है।

आपकी जानकारी के लिए, मैं वर्तमान में उपयोग कर रहा हूं अजगर 2.6.6 उबंटु 10.10 पर

(मैं मान रहा हूँ कि आप कुछ यूनिक्स जैसी ऑपरेटिंग हैं सिस्टम।)

वीआईएम में सहेजने से डिस्क पर एक ही नाम के साथ एक नया फ़ाइल बन जाएगी। आपकी स्क्रिप्ट द्वारा आयोजित फ़ाइल संभाल अभी भी पुरानी फाइल को इंगित करता है, जिसके पास कोई निर्देशिका प्रविष्टि नहीं है। अगर आपकी स्क्रिप्ट समाप्त हो जाती है, पुरानी फाइल का संदर्भ काउंटर 0 पर आ जाएगा और फाइल को हटा दिया जाएगा।

Comments