如果我知道目录的路径,如何将其中的每个文件夹分别压缩成zip文件?我尝试了一些方法,但由于我不完全了解os模块的工作方式,所以无能为力。
问题在于它只压缩目录中的一个文件夹。
例子:
我需要的是文件夹1.zip(包含文件1.1),文件夹2.zip(包含文件2.1)和文件夹3.zip(包含文件3.1和文件3.2)。非常感谢您的帮助。
import os, zipfile
directory_path = str(raw_input())
for folder in os.listdir(directory_path):
zip_file = zipfile.ZipFile(folder + '.zip', 'w')
for root, dirs, files in os.walk(directory_path+'/'+folder):
for file in files:
zip_file.write(os.path.join(root, file),file)
zip_file.close()
问题在于它只压缩目录中的一个文件夹。
例子:
Directory
|
+-- folder1
| |
| \-- file 1.1
|
+-- folder2
| |
| \-- file 2.1
|
+-- folder3
| |
| +-- file 3.1
| \-- file 3.2
我需要的是文件夹1.zip(包含文件1.1),文件夹2.zip(包含文件2.1)和文件夹3.zip(包含文件3.1和文件3.2)。非常感谢您的帮助。
folder1.zip
很好地包含了file1.1
。 - phihagfolder2.zip
和folder3.zip
,我认为循环没有问题。 - phihag