Python中zipfile模組最最最最簡單的例子

2021-07-10 18:36:06 字數 2453 閱讀 7791

用python寫的乙個簡單的壓縮檔案處理(**寫得要被人打的節奏【bug多多】)

#_*_ encoding=utf-8 _*_

import zipfile

import os

defmenu

():print

''' [1] 列出所有壓縮檔案

[2] 解壓指定檔案

[3] 加入壓縮檔案

[4] 退出

'''defunzip

(zf):

zf.printdir()

zname = raw_input('請輸入你要解壓的檔案:')

if zname not

in zf.namelist():

print

'該檔案不存在!'

return

none

date = zf.read(zname)

'''read主要是從壓縮包裡的檔案讀取資料

'''tmpfile = open(zname,'w')

tmpfile.writelines(date)

tmpfile.close()

defaddzip

(zf):

print

'\n'

for each in os.listdir(os.getcwd()):

print each

zname = raw_input('請輸入你要新增壓縮的檔案(當前目錄):')

if zname not

in os.listdir(os.getcwd()):

print

'該檔案不在當前目錄'

return

none

elif zname in zf.namelist() :

choose = raw_input('該檔案已經存在是否覆蓋?[y or n]')

if choose == 'y':

pass

else:

return

none

try:

zf.write(os.path.join(os.getcwd(),zname),zname)

'''write(self, filename, arcname=none, compress_type=none)

filename:欲加入壓縮的檔案

arcname:加入壓縮包後的檔名

compress同下

'''except:

pass

defmain

(): choice = 4

argc = len(os.sys.argv) #只支援引數載入壓縮包。。。

if argc == 1:

print

'缺少引數!'

return

none

for i in range(1,argc):

try:

'''z = zipfile(file, mode="r", compression=zip_stored, allowzip64=false)

file指要被開啟的壓縮包,我這裡是test.zip

mode是指開啟的模式

讀是"r", 寫入 "w" or 新增 "a"

跟檔案處理差不多

compression是指解壓縮方式(表示不懂)

方式有: zip_stored (no compression) or zip_deflated (requires zlib)

'''zfile = zipfile.zipfile(os.path.join(os.getcwd(),os.sys.argv[i]),'a') #開啟指定壓縮包

except:

print

'不存在檔案或者許可權不夠'

else:

menu()

while

true:

try:

choice = int(raw_input('%s >'%os.sys.argv[i]))

except:

pass

if choice == 1:

zfile.printdir()

elif choice == 2:

unzip(zfile)

elif choice == 3:

addzip(zfile)

else:

zfile.close()

break

if __name__ == '__main__':

main()

執行效果演示(之前弄過了。。)

python標準庫學習之zipfile模組

zipfile模組裡有兩個非常重要的class,分別是zipfile和zipinfo。zipfile是主要的類,用來建立和讀取zip檔案,而zipinfo是儲存的zip檔案的每個檔案的資訊的。class zipfile.zipfile file mode compression allowzip64...

Python基礎 ZipFile模組

zipfile和zipinfo,在絕大多數的情況下,我們只需要使用這兩個class就可以了。zipfile是主要的類,用來建立和讀取zip檔案。而zipinfo是儲存的zip檔案的每個檔案的資訊的。import zipfile z zipfile.zipfile filename,r for i i...

利用python中的zipfile模組進行解壓縮

本文主要說解壓的問題 匯入模組 import zipfile 壓縮包所在路徑 file dir test.zip zf zipfie.zipfile file dir 檢視壓縮包內的檔案 以列表形式呈現 zf.namelist 將解壓的檔案儲存到指定的路徑下 zf.extractall some 匯...