如下圖本來只壓縮一個文件結果這個文件所在的路徑全都被壓縮進去啦
下面是解決方法yadir='D:/databak/'
zipfilepath='D:/zipfile.zip'
filelists?=?os.listdir(yadi)
if?filelists?==?None?or?len(filelists)?
print?(">>>>>>待壓縮的文件目錄:"?+?yadir?+?"?里面不存在文件,無需壓縮.?<<<<<
else:
z?=?zipfile.ZipFile(zipfilepath,?'w'?,zipfile.ZIP_DEFLATED)
for?fil?in?filelists:
filefullpath?=?os.path.join(yadir,?fil)
#?filefullpath是文件的全路徑,fil是文件名,這樣就不會帶目錄啦
z.write(filefullpath,?fil)
z.close()
注意z.write的第二個參數如果直接給個文件名的話是無效的要加個相對路徑如? './'+ test.txt