當前位置:首頁 » 編程語言 » pythongzip壓縮文件

pythongzip壓縮文件

發布時間: 2022-06-21 21:05:13

python 中如何壓縮文件,並指定文件的壓縮之後的大小。

這個簡單啊。你先壓縮成一個ZIP文件。比如 example.zip

然後用python將它分割成,5個文件。e1,e2,e3,e4,e5

郵件發出去後,對方收到郵件,另存附件,然後在目錄下運行
e1+e2+e3+e4+e5 example.zip
此時windows就將依次將5個文件復制到同一個文件里去。

⑵ 如何通過Python壓縮解壓縮zip文件

解壓縮

importzipfile
importos
defun_zip(file_name):
"""unzipzipfile"""
zip_file=zipfile.ZipFile(file_name)
ifos.path.isdir(file_name+"_files"):
pass
else:
os.mkdir(file_name+"_files")
fornamesinzip_file.namelist():
zip_file.extract(names,file_name+"_files/")
zip_file.close()

打包

zipfile.ZipFile('xxx.zip','a/w/x').write('xxx.txt')

'w'以截斷並寫入新文件'a'以附加到現有文件,或'x'以專門創建和寫入新文件。

⑶ python如何判斷一個文件是否為gzip文件

本文實例講述了Python實現壓縮與解壓gzip大文件的方法。分享給大家供大家參考,具體如下:
#encoding=utf-8
#author: walker
#date: 2015-10-26
#summary: 測試gzip壓縮/解壓文件
import gzip
BufSize = 1024*8
def gZipFile(src, dst):
fin = open(src, 'rb')
fout = gzip.open(dst, 'wb')
in2out(fin, fout)
def gunZipFile(gzFile, dst):
fin = gzip.open(gzFile, 'rb')
fout = open(dst, 'wb')
in2out(fin, fout)
def in2out(fin, fout):
while True:
buf = fin.read(BufSize)
if len(buf) < 1:
break
fout.write(buf)
fin.close()
fout.close()
if __name__ == '__main__':
src = r'D:\tmp\src.txt'
dst = r'D:\tmp\src.txt.gz'
ori = r'D:\tmp\ori.txt'
gZipFile(src, dst)
print('gZipFile over!')
gunZipFile(dst, ori)
print('gunZipFile over!')

也可以簡單地封裝成一個類:
class GZipTool:
def __init__(self, bufSize):
self.bufSize = bufSize
self.fin = None
self.fout = None
def compress(self, src, dst):
self.fin = open(src, 'rb')
self.fout = gzip.open(dst, 'wb')
self.__in2out()
def decompress(self, gzFile, dst):
self.fin = gzip.open(gzFile, 'rb')
self.fout = open(dst, 'wb')
self.__in2out()
def __in2out(self,):
while True:
buf = self.fin.read(self.bufSize)
if len(buf) < 1:
break
self.fout.write(buf)
self.fin.close()
self.fout.close()

⑷ python怎樣壓縮和解壓縮ZIP文件

1、python使用zipfile模塊壓縮和解壓ZIP文件
2、讀取zip文件
首先,通過zipfile模塊打開指定zip文件,如:
zpfd
=
zipfile.ZipFile(path,
mode='r')
對於zipfile,其標志與open所用的打開文件標志有所不同,不能識別
'rb'。
然後,讀取zip文件中的內容,zipfile對象提供一個read(name)的方法,name為zip文件中的一個文件入口,執行完成之後,將返回讀出的內容,如:
for
filename
in
zpfd.namelist():
tmpcont
=
zpfd.read(filename)
print
'len(tmpcont)',
'tmpcont'
需要注意的是,讀取zip文件時,只能讀取內容!

⑸ python如何讀取通過gzip壓縮的字元串

import osimport gzip # 那是因為你調用了read方法,而這個方法會把文件一股腦兒讀取出來的# 為了便於你迭代,你可以在這里使用一個生成器def read_gz_file(path): if os.path.exists(path): with gzip.open(path, 'rt') as pf: for line in pf: yield line else: print('the path [{}] is not exist!'.format(path)) con = read_gz_file('abc.gz')if getattr(con, '__iter__', None): for line in con: print(line, end = '')

⑹ python壓縮成tar

Python壓縮文件為tar、gzip的方源碼。需要應用到os、tarfile、gzip、string、shutil這幾個Python類庫中的方法。不同於Python Gzip壓縮與解壓模塊,今天我們要用自己的方法實現壓...

java gzip 和 python gzip 有什麼區別

一個zip可以內藏多個文件 狹義的gzip僅對單個文件壓縮,不能打包多個文件。 tar.gzip或tgz可以打包多個文件,屬於固實壓縮,壓縮比較高,但隨機存取單個文件的效率不如zip..

⑻ python 解壓縮tar.gz文件 判斷文件是否正常

  1. Python自帶的tarfile模塊可以方便讀取tar歸檔文件,牛b的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2。

  2. 對於gz格式gz文件一般不加密常見的是這種.tar.gz格式的 對於tar格式 在python標准庫我沒找到關於檢測加密的方法

⑼ 用python寫一個程序實現字元串壓縮的方法

import
StringIOimport
gzipcompresseddata
=
gzip方式壓縮的字元串(html)compressedstream
=
StringIO.StringIO(compresseddata)gzipper
=
gzip.GzipFile(fileobj=compressedstream)data
=
gzipper.read()
#
data就是解壓後的數據一個簡單的例子1
import
urllib2
2
from
StringIO
import
StringIO
3
import
gzip
4

5
def
loadData(url):
6

request
=
urllib2.Request(url)
7

request.add_header('Accept-encoding',
'gzip')
8

response
=
urllib2.urlopen(request)
9

if
response.info().get('Content-Encoding')
==
'gzip':10

print
'gzip
enabled'11

buf
=
StringIO(response.read())12

f
=
gzip.GzipFile(fileobj=buf)13

data
=
f.read()14

else:15

data
=
response.read()16

return
data

熱點內容
python3graphics 發布:2025-02-05 21:36:57 瀏覽:511
為什麼英雄聯盟一個伺服器進不去 發布:2025-02-05 21:36:12 瀏覽:182
伺服器搭建網站開發教材 發布:2025-02-05 21:31:57 瀏覽:567
pythonrose 發布:2025-02-05 21:31:46 瀏覽:923
php數組從小到大排序 發布:2025-02-05 21:26:01 瀏覽:324
單片機存儲器擴展 發布:2025-02-05 21:17:35 瀏覽:966
sqler圖 發布:2025-02-05 21:10:58 瀏覽:630
網路編程android 發布:2025-02-05 21:05:49 瀏覽:346
python時間毫秒數 發布:2025-02-05 20:51:32 瀏覽:331
clash安卓如何切換節點 發布:2025-02-05 20:48:20 瀏覽:890