Czy można w dowolnym momencie dołączyć do spakowanego pliku tekstowego za pomocą Pythona?Python Gzip - Dołączanie do pliku w locie
zasadzie robię to: -
import gzip
content = "Lots of content here"
f = gzip.open('file.txt.gz', 'a', 9)
f.write(content)
f.close()
Linia jest dołączany (nota „dołączony”) do pliku co 6 sekund lub tak, ale plik wynikowy jest tak duża, jak standardowy plik nieskompresowany (około 1 MB po zakończeniu).
Jawnie określenie poziomu kompresji również nie ma znaczenia.
Gdybym gzip istniejący plik nieskompresowany potem, to wielkość sprowadza się z grubsza 80kb.
Czy zgaduję, że nie jest możliwe "dołączenie" do pliku gzip w locie i skompresowanie go?
Czy to przypadek piśmie do bufora String.IO a następnie spłukiwania do pliku gzip kiedy zrobić?
Aby algorytm gzip działał sprawnie, musi dostać się w ręce całej skompresowanej treści. W przeciwnym razie dodajesz tylko fragmenty spakowanych treści, które nie mają ze sobą nic wspólnego. – Nadh
@Nadh, więc domyślam się, że moja ostatnia linia jest poprawna? Napisz do String.IO i spłucz do gzip? –
Tak, to powinno zadziałać. Musisz tylko upewnić się, że cała zawartość jest zgrupowana razem w dowolnej chwili. – Nadh