Python 壓縮文件解壓文件

 

f=zipfile.ZipFile("test.zip",mode="")  //mode 解壓是 r , 壓縮是 w, 追加壓縮是 a

 

 

壓縮文件

import zipfile
def zip_files( files, zip_name ):
    zip = zipfile.ZipFile( zip_name, 'w', zipfile.ZIP_DEFLATED )
    for file in files:
        print ('compressing', file)
        zip.write( file )
    zip.close()
    print ('compressing finished')


files = ['D:\\temp-test\\abc.txt', 'D:\\temp-test\\bbb.txt'] #多個文件的路徑和名稱,多個文件用“,”隔開
zip_file = 'D:\\temp-test\\ccc.txt.zip' #壓縮之後的包名字
zip_files(files, zip_file)

 壓縮一個文件

import zipfile
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="w") as f:
    f.write("c://users//17250//desktop//test.txt")          #寫入壓縮文件,會把壓縮文件中的原有覆蓋
except Exception as e:
    print("異常對象的類型是:%s"%type(e))
    print("異常對象的內容是:%s"%e)
finally:
    f.close()

 

追加一個文件

import zipfile #向已存在的壓縮文件中追加內容
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
    f.write("e://test.txt")          #追加寫入壓縮文件
except Exception as e:
    print("異常對象的類型是:%s"%type(e))
    print("異常對象的內容是:%s"%e)
finally:
    f.close()

 

import zipfile, os

def zip_files(files, zip_name):
    zip = zipfile.ZipFile( zip_name, 'w', zipfile.ZIP_DEFLATED )
    for file in files:
        print ('compressing', file)
        zip.write( file )
        res = zip.testzip()
        if res:
           print(res)
           #raise Exception('Zip file from \'{0!s}\' was corrupt.'.format(file))
    zip.close()
    print ('compressing finished')


files = ['D:\\temp-test\\abc.txt', 'D:\\temp-test\\bbb.txt'] #文件的位置,多個文件用“,”隔開
zip_file = 'D:\\temp-test\\ccc.txt.zip' #壓縮包名字
#os.remove(zip_file)
zip_files(files, zip_file)

 

 

檢查壓縮文件

 

 

解壓文件

 

import zipfile

zip_file = zipfile.ZipFile('D:\\temp-test\\ccc.txt.zip')
# 解壓
zip_extract = zip_file.extractall() ## 解壓到當前目錄(運行python程序的目錄)
zip_file.close()

 

import zipfile

zip_file = zipfile.ZipFile('D:\\temp-test\\ccc.txt.zip')
# 解壓
for names in zip_file.namelist():
    zip_file.extract(names, 'D:\\temp-test\\' )

zip_file.close()

 

import zipfile
try:
  with zipfile.ZipFile("c://users//17250//desktop//test.zip",mode="a") as f:
     f.extractall("c://users//17250//desktop//",pwd=b"root") ##將文件解壓到指定目錄,解壓密碼爲root
except Exception as e:
     print("異常對象的類型是:%s"%type(e))
     print("異常對象的內容是:%s"%e)
finally:
     f.close()

 

 

 

REF

https://www.cnblogs.com/chenlove/p/9526707.html

https://www.jb51.net/article/188637.htm

https://vimsky.com/examples/detail/python-ex-zipfile-ZipFile-testzip-method.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章