Có thể nối thêm vào tệp văn bản được nén bằng cách sử dụng Python không?Python Gzip - Đính kèm tập tin khi đang bay
Về cơ bản tôi đang làm điều này: -
import gzip
content = "Lots of content here"
f = gzip.open('file.txt.gz', 'a', 9)
f.write(content)
f.close()
Một dòng được nối (lưu ý "nối") để các tập tin định kỳ 6 giây hoặc lâu hơn, nhưng các tập tin kết quả là chỉ lớn như một file nén chuẩn (khoảng 1MB khi hoàn thành).
Xác định rõ ràng mức nén dường như không tạo nên sự khác biệt.
Nếu tôi gzip tệp nén không tồn tại sau đó, kích thước của nó sẽ giảm xuống còn khoảng 80kb.
Tôi đoán rằng không thể "nối thêm" vào tệp gzip khi đang di chuyển và có nén không?
Đây có phải là trường hợp ghi vào bộ đệm String.IO và sau đó chuyển sang tệp gzip khi hoàn tất không?
Để thuật toán gzip hoạt động hiệu quả, nó phải có được toàn bộ nội dung được nén. Nếu không, bạn chỉ cần thêm khối nội dung bị nén mà không liên quan gì đến nhau. – Nadh
@Nadh vì vậy tôi đoán dòng cuối cùng của tôi là chính xác? Viết thư cho một String.IO và chuyển sang gzip? –
Có, điều đó sẽ hiệu quả. Bạn chỉ cần đảm bảo rằng tất cả nội dung được gzipped cùng nhau bất kỳ lúc nào. – Nadh