我的代码是:
def zip_file(path, zip_file_name ,root):
ziph = zipfile.ZipFile(zip_file_name, 'w', zipfile.ZIP_DEFLATED)
ziph.write(path, arcname= os.path.join(root, os.path.splitext(zip_file_name)[0]))
#os.remove(path)
ziph.close()
def zip_dir(dir_to_zip):
for root, dirs, files in os.walk(dir_to_zip):
for curr_file in files:
fullFilePath = os.path.join(root, curr_file)
if not curr_file.endswith('.zip'):
zip_file(fullFilePath, "{}.zip".format(fullFilePath), root)
if __name__ == '__main__':
zip_dir('C:\\Users\\My_namne\\Desktop\\TEST')
我希望它将文件压缩到原始文件夹,但是将其压缩到我项目的所有文件的工作目录。如何更改输出存档的目录?现在将其压缩到我的工作目录,并将整个根目录压缩到路径
答案 0 :(得分:1)
User::auth()
的第一个参数应该是要创建的归档的完整路径。在zipfile.ZipFile
zip_dir
这将为目录中的每个文件创建一个存档。存档将仅包含文件本身,而不包含文件的整个路径。
def zip_dir(dir_to_zip):
for root, dirs, files in os.walk(dir_to_zip):
for curr_file in files:
fpath = os.path.join(root, curr_file)
zip_file(fpath, "{}.zip".format(fpath),root)
答案 1 :(得分:0)
mounted
这有效