用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 匯...