Possible Duplicate:
Get last n lines of a file with Python, similar to tail
Read a file in reverse order using pythonअजगर पढ़ने केवल विशाल पाठ के अंत फ़ाइल
मैं आकार में 15GB के बारे में है कि एक फ़ाइल है, यह है कि मैं से उत्पादन का विश्लेषण करने वाला हूँ एक लॉग फ़ाइल है। मैंने लॉगिंग की केवल कुछ पंक्तियों के साथ पहले से ही एक छोटी लेकिन छोटी छोटी फ़ाइल का मूल विश्लेषण किया है। पार्सिंग तार समस्या नहीं है। मुद्दा विशाल फ़ाइल और इसमें अनावश्यक डेटा की मात्रा है।
असल में मैं एक पाइथन स्क्रिप्ट बनाने का प्रयास कर रहा हूं जिसे मैं कह सकता हूं; उदाहरण के लिए, मुझे फ़ाइल की 5000 अंतिम पंक्तियां दें। यह फिर से तर्कों को संभालने में बुनियादी है और यह सब कुछ भी विशेष नहीं है, मैं ऐसा कर सकता हूं।
लेकिन मैं फाइल रीडर को फ़ाइल के अंत से निर्दिष्ट लाइनों की मात्रा को केवल पढ़ने के लिए कैसे परिभाषित या बता सकता हूं? मैं huuuuuuge फ़ाइल की शुरुआत में लाइनों की मात्रा को छोड़ने की कोशिश कर रहा हूं क्योंकि मुझे उन लोगों में दिलचस्पी नहीं है और ईमानदार होने के लिए, txt फ़ाइल से 15GB लाइनों को पढ़ने में बहुत लंबा समय लगता है। क्या गलती करने का कोई तरीका है .. फ़ाइल के अंत से पढ़ना शुरू करें? क्या यह अर्थसार्थक भी है?
यह सब 15 जीबी फ़ाइल पढ़ने के मुद्दे पर उबाल जाता है, रेखा से रेखा बहुत लंबी होती है। तो मैं शुरुआत में पहले से ही अनावश्यक डेटा (कम से कम मेरे लिए अनावश्यक) को छोड़ना चाहता हूं और केवल उस फ़ाइल के अंत से लाइनों की मात्रा को पढ़ना चाहता हूं जिसे मैं पढ़ना चाहता हूं।
स्पष्ट उत्तर फ़ाइल से अन्य फाइलों को मैन्युअल रूप से प्रतिलिपि बनाने के लिए है, लेकिन इस अर्ध-जादुई तरीके से फ़ाइल के अंत से पाइथन के साथ एन लाइनों को पढ़ने के लिए एक तरीका है ?
क्या ओएस आप का उपयोग कर रहे हैं? –
कोई सीधा जवाब नहीं है, लेकिन यदि आप; निक्स का उपयोग कर रहे हैं तो आप इसके बजाय stdin से इनपुट स्वीकार कर सकते हैं और 'tail hugefile.txt -n1000' का उपयोग कर डेटा भेज सकते हैं। python myprog.py' – moopet
डुप्लिकेट प्रश्न पर उत्तर देखें। पहला अपेक्षाकृत प्लेटफ़ॉर्म-स्वतंत्र है, दूसरा यूनिक्स-आधारित सिस्टम पर अच्छी तरह से काम करता है ('पूंछ' कमांड का उपयोग करके @moopet सुझाया गया है)। –