पर फ़ाइल करने के लिए संलग्न करना क्या पाइथन का उपयोग करके फ्लाई पर एक gzipped टेक्स्ट फ़ाइल को जोड़ना संभव है?पायथन Gzip - फ्लाई
मूल रूप से मैं यह कर रहा हूं: -
import gzip
content = "Lots of content here"
f = gzip.open('file.txt.gz', 'a', 9)
f.write(content)
f.close()
एक लाइन जोड़ दिया जाता है फाइल करने के लिए (ध्यान दें "संलग्न") हर 6 सेकंड या तो है, लेकिन परिणामी फ़ाइल बस के रूप में एक मानक असम्पीडित फ़ाइल के रूप में बड़ा है (लगभग 1 एमबी पूरा होने पर)।
स्पष्टीकरण स्तर को स्पष्ट रूप से निर्दिष्ट करने से कोई फर्क नहीं पड़ता है।
यदि मैं बाद में एक मौजूदा असंपीड़ित फ़ाइल को gzip करता हूं, तो इसका आकार लगभग 80kb तक आता है।
मैं अनुमान लगाता हूं कि फ्लाई पर एक gzip फ़ाइल में "संलग्न" करना संभव नहीं है और इसे संपीड़ित किया गया है?
क्या यह स्ट्रिंग.आईओ बफर को लिखने का एक मामला है और फिर पूरा होने पर एक gzip फ़ाइल में flushing है?
gzip एल्गोरिदम के लिए कुशलता से काम करने के लिए, इसे संपीड़ित करने के लिए पूरी सामग्री पर हाथ प्राप्त करना होगा। अन्यथा, आप केवल gzipped सामग्री के भाग संलग्न कर रहे हैं जिनके पास एक-दूसरे के साथ कुछ लेना देना नहीं है। – Nadh
@Nadh तो मुझे लगता है कि मेरी आखिरी पंक्ति सही है? एक String.IO लिखें और gzip करने के लिए फ्लश? –
हां, यह काम करना चाहिए। आपको बस यह सुनिश्चित करना होगा कि सभी सामग्री किसी भी समय एक साथ gzipped है। – Nadh