我尝试使用代码belllow创建一个包含文件夹(某些目录和文件)内容的zip文件:
import zip,os
path = "c:\\tester\\folderToZip"
zip = zipfile.ZipFile("zippedFolder.zip", "w")
for root, dirs, files in os.walk(path):
for file in files:
zip.write(os.path.join(root, file))
zip.close()
但是在代码运行之后,当我检查zip文件时,zip文件,而不是文件夹“folderToZip”的内容(例如:f1,f2,f2,a.txt,b.txt,c.txt )它有可变路径的完整路径。
所以,问题是,如何基于文件夹内容创建zip文件,而不是他的完整路径?
答案 0 :(得分:2)
write
接受第二个可选参数arcname
,该参数在指定时将提供存储文件的名称。用它来指定你想要的名字。
如果您只想要文件名:
import zip,os
path = "c:\\tester\\folderToZip"
zip = zipfile.ZipFile("zippedFolder.zip", "w")
for root, dirs, files in os.walk(path):
for file in files:
filename = os.path.join(root, file)
zip.write(filename, filename)
zip.close()