解壓縮
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怎樣解壓.tar.gz的文件
linux:
os.system('tar zxf %s' % filename )
window:
import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()
Ⅲ python怎麼解壓壓縮的字元串數據
一個簡單的例子
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
~如果你認可我的回答,請及時點擊【採納為滿意回答】按鈕
~~手機提問的朋友在客戶端右上角評價點【滿意】即可。
Ⅳ 用python解壓圖片並列印代碼
import zipfile
# 傳入壓縮文件zfile.zip獲取相關信息
zip_file = zipfile.ZipFile('zfile.zip')
# 獲取壓縮文件中的內容
f_content = zip_file.namelist()
# 壓縮前的大小
f_size = zip_file.getinfo('zfile/a.txt').file_size
# 壓縮後的大小
c_size = zip_file.getinfo('zfile/a.txt').compress_size
ZipFile 對象有一個 namelist()方法,返回 ZIP 文件中包含的所有文件和文件夾 的字元串的列表。這些字元串可以傳遞給 ZipFile 對象的 getinfo()方法,返回一個關 於特定文件的 ZipInfo 對象。ZipInfo 對象有自己的屬性,諸如表示位元組數的 file_size 和 compress_size,它們分別表示原來文件大小和壓縮後文件大小。ZipFile 對象表示 整個歸檔文件,而 ZipInfo 對象則保存該歸檔文件中每個文件的有用信息。
從 ZIP 文件中解壓縮
ZipFile 對象的 extractall()方法從 ZIP 文件中解壓縮所有文件和文件夾,放到當 前工作目錄中。
import zipfile
zip_file = zipfile.ZipFile('zfile.zip')
# 解壓
zip_extract = zip_file.extractall()
zip_extract.close()
運行這段代碼後, example.zip 的內容將被解壓縮到 C:。 或者, 你可以向 extractall()傳遞的一個文件夾名稱,它將文件解壓縮到那個文件夾,而不是當前工作 目錄。如果傳遞給 extractall()方法的文件夾不存在,它會被創建。例如,如果你用 exampleZip.extractall('C: delicious')取代處的調用,代碼就會從 example.zip 中解壓 縮文件,放到新創建的 C:delicious 文件夾中。
ZipFile 對象的 extract()方法從 ZIP 文件中解壓縮單個文件。
創建和添加到 ZIP 文件
要創建你自己的壓縮 ZIP 文件,必須以「寫模式」打開 ZipFile 對象,即傳入'w' 作為第二個參數(這類似於向 open()函數傳入'w',以寫模式打開一個文本文件)。
如果向 ZipFile 對象的 write()方法傳入一個路徑,Python 就會壓縮該路徑所指 的文件,將它加到 ZIP 文件中。write()方法的第一個參數是一個字元串,代表要添 加的文件名。第二個參數是「壓縮類型」參數,它告訴計算機使用怎樣的演算法來壓 縮文件。可以總是將這個值設置為 zipfile.ZIP_DEFLATED(這指定了 deflate 壓縮 演算法,它對各種類型的數據都很有效)。
import zipfile
zip_file = zipfile.ZipFile('new.zip','w')
# 把zfile整個目錄下所有內容,壓縮為new.zip文件
zip_file.write('zfile',compress_type=zipfile.ZIP_DEFLATED)
# 把c.txt文件壓縮成一個壓縮文件
# zip_file.write('c.txt',compress_type=zipfile.ZIP_DEFLATED)
zip_file.close()
這段代碼將創建一個新的 ZIP 文件,名為 new.zip,它包含 spam.txt 壓縮後的內容。
要記住,就像寫入文件一樣,寫模式將擦除 ZIP 文件中所有原有的內容。如果 只是希望將文件添加到原有的 ZIP 文件中,就要向 zipfile.ZipFile()傳入'a'作為第二 個參數,以追加模式打開 ZIP 文件。
Ⅳ 請問python的 zipfile 怎麼解壓中文密碼的zip文件
是python2還是3?
錯誤截圖看一下
也可以私信發zip包和代碼來測試一下
Ⅵ python3.5如何直接讀取(不先進行解壓操作)zip壓縮文件中某一個csv格式文件中各行的內容
import StringIO
import zipfile
filehandle = open("D:/ABC.zip", 'rb')
zfile = zipfile.ZipFile(filehandle)
data = StringIO.StringIO(zfile.read(zfile .namelist()[0]))
reader = csv.reader(data)
在zipfile文檔中看了ZipFile對象的read方法,它返回的是位元組,不是迭代器。因為csv.reader方法它的參數是需要一個迭代器的。所以你的這段代碼過不了:reader=csv.reader(zf.open(cf))
。
Ⅶ python怎樣壓縮和解壓縮ZIP文件
Python壓縮ZIP文件:
importzipfile
f=zipfile.ZipFile(target,'w',zipfile.ZIP_DEFLATED)
f.write(filename,file_url)
f.close()
其中target:是壓縮後要保存的路徑,可以是: 'C:/temp/'
ZIP_DEFLATED:表示壓縮,還有一個參數:ZIP_STORE:表示只打包,不壓縮。
這個Linux中的gz跟tar格式有點類似.
write方法如果只有一個參數filename的話,表示把你filename所帶的路徑全部壓縮到zip文件中。如果帶兩個參數,表示把filename路徑中的那個file壓縮一下並且存放到file_url中,中間沒有增加任何的文件夾。
如果要壓縮很多的文件,循環的write就ok了, 最後close掉。
Python解壓ZIP文件:
f=zipfile.ZipFile("zipfilePath",'r')
forfileinf.namelist():
f.extract(file,"temp/")
zipfilePath是壓縮文件的路徑
循環訪問該壓縮文件中的文件,並且一個一個file的解壓到對應的"temp"文件夾中
Ⅷ 如何列出gzip文件的內容而無需在python中解壓縮
你可以使用TarFile.getnames
$ b
#!/ usr / bin / env python3
import tarfile
tarf = tarfile.open('foo。 tar gz','r:gz')
print(tarf.getnames())
如果您想要mtime值,可以使用getmembers()。
print([member.name,member.mtime)for member in tarf.getmembers()])
Ⅸ Python如何將文件里的文件解壓並輸出
"""
"""
importzipfile
package=zipfile.ZipFile(r"dbpackages.zip")
forfinpackage.namelist():
iff.endswith(".db"):
printf
package.extract(package.getinfo(f))