bir boru kullanarak Perl gzip Bu, ZIPPED dosya kümesine ne yazdıracağınızı sıkıştırmak için Unix gzip dosyasını "zipped.gz" dosyasına kullanır. Python eşdeğer aşağıda iki astar benzer Python sıkıştırılmış bir dosyada, dosya çıktı yazmak için nasıl anlamaya ihtiyacımız
böyle Python Bunu yapmak için "ithal gzip" kullanmayı biliyor:import gzip
zipped = gzip.open("zipped.gz", 'wb')
zipped.write("Hello world\n")
Ancak, bu son derece yavaştır. Profiler göre, bu yöntem kullanarak çeşitli çıkış dosyalarına 200 GB sıkıştırılmamış veri yazıyorum çünkü benim çalışma süresinin% 90 kadar alır. Dosya sisteminin buradaki problemin bir parçası olabileceğinin farkındayım, ancak bunun yerine Unix/Linux sıkıştırması kullanarak bunu yönetmek istiyorum. Bu kısmen, aynı modülü kullanarak açma işlemini yavaşlattığını duyduğumdan dolayı. gzip module kullanma
bunu saf Python yapılması mi istiyorsunuz, yoksa dosya sistemi üzerinde bir ikili bir çağrıda razı olabilir (Python, altişlem modülü kullanmak istiyorum)? – ChristopheD
Saf Python yöntemleri çok yavaş olduğu için Python'da yapmamayı tercih ederim. – bu11d0zer
gzip programını 200 GB sıkıştırılmamış verilerinizdeki kabuktan mı çalıştırdınız? Ben% 90-100 CPU kullanımı için oldukça fazla wallclock süresi almayı beklerdim - Windows kutumda GB başına yaklaşık 1 dakika çalışır, oysa Python gzip modülü GB başına 2 dakika alır. – Dave