2014-04-15 3 views
5

मुझे पायथन 2.7 का उपयोग करना है क्योंकि मैं बोटो लाइब्रेरी का उपयोग कर रहा हूं और boto3 प्रयोगात्मक है। मुझे एक फाइल को पढ़ने की जरूरत है जो gzipped है और लाइनों को कैरिज रिटर्न द्वारा समाप्त कर दिया जाता है। python 3.3 का उपयोग करना ऐसा लगता है कि आप gzip.open में केवल न्यूलाइन चर निर्दिष्ट कर सकते हैं। पायथन 2.7 में ऐसा करने का सबसे साफ और अभी भी प्रभावी तरीका क्या होगा।आप पाइथन 2.7 का उपयोग कर एक gzipped कैरिज-रिटर्न फ़ाइल के माध्यम से कैसे पुन: प्रयास करते हैं?

उत्तर

9

आप सार्वभौमिक नई-पंक्तियों समर्थन के साथ लाइन द्वारा पाठ पंक्ति के रूप में Gzipped फाइल पढ़ने में io मॉड्यूल की कोशिश कर सकते:

import gzip 
import io 

with io.TextIOWrapper(io.BufferedReader(gzip.open(filename))) as file: 
    for line in file: 
     print line, 
+0

हाँ यह काम करता है महान! बहुत बहुत धन्यवाद। – thekkid

+0

io.TextIOWrapper (io.BufferedReader (gzip.open (filePath)), एन्कोडिंग = 'utf8', त्रुटियों = 'अनदेखा') एन्कोडिंग और त्रुटि प्रबंधन का भी समर्थन करता है। धन्यवाद! – Yurik

+0

'BufferedReader' के साथ 'GzipFile' को लपेटना वास्तव में यह काम करता है! बहुत बहुत धन्यवाद, मैं सिर्फ 'TextIOWrapper' पर काम करने के लिए 'readlines()' प्राप्त करने की कोशिश कर रहा था! – ebolyen

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

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