我想创建一个zip文件.将文件夹添加到zip文件,然后将一堆文件添加到该文件夹.
所以我想最终得到一个带有文件的单个文件夹的zip文件.
我不知道在zip文件中有文件夹或谷歌的东西是不是很糟糕的做法.
我从这开始:
def addFolderToZip(myZipFile,folder):
folder = folder.encode('ascii') #convert path to ascii for ZipFile Method
for file in glob.glob(folder+"/*"):
if os.path.isfile(file):
print file
myZipFile.write(file, os.path.basename(file), zipfile.ZIP_DEFLATED)
elif os.path.isdir(file):
addFolderToZip(myZipFile,file)
def createZipFile(filename,files,folders):
curTime=strftime("__%Y_%m_%d", time.localtime())
filename=filename+curTime;
print filename
zipFilename=utils.getFileName("files", filename+".zip")
myZipFile = zipfile.ZipFile( zipFilename, "w" ) # Open the zip file for writing
for file in files:
file = file.encode('ascii') #convert path to ascii for ZipFile Method
if os.path.isfile(file):
(filepath, filename) = os.path.split(file)
myZipFile.write( file, filename, zipfile.ZIP_DEFLATED )
for folder in …
Run Code Online (Sandbox Code Playgroud) 假设我有一个目录:/home/user/files/
.这个目录有一堆文件:
/home/user/files/
-- test.py
-- config.py
Run Code Online (Sandbox Code Playgroud)
我想ZipFile
在python中使用zip目录.我是否需要遍历目录并递归添加这些文件,或者是否可以传递目录名称,ZipFile类会自动添加其下的所有内容?
最后,我想:
/home/user/files.zip (and inside my zip, I dont need to have a /files folder inside the zip:)
-- test.py
-- config.py
Run Code Online (Sandbox Code Playgroud)