Python 打包文件夹代码 - 保留文件属性
以下是一个简单的 Python 脚本,用于打包某个文件夹中的所有文件,并保留文件的所有属性。该脚本使用了 Python 标准库中的 zipfile 模块。
import os
import zipfile
def zipdir(path, ziph):
# ziph 是 ZipFile 对象
for root, dirs, files in os.walk(path):
for file in files:
filepath = os.path.join(root, file)
ziph.write(filepath, os.path.relpath(filepath, path))
if __name__ == '__main__':
# 要打包的文件夹路径
folder_path = '/path/to/folder'
# 打包后的文件名
zip_filename = 'archive.zip'
# 创建 ZipFile 对象,并打包文件夹
with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
zipdir(folder_path, zipf)
在上面的代码中,zipdir() 函数用于递归地遍历指定文件夹中的所有文件,并将它们添加到 ZipFile 对象中。os.walk() 函数用于遍历文件夹中的所有子目录和文件。ziph.write() 方法将文件添加到 ZipFile 对象中,并使用 os.path.relpath() 函数计算文件在文件夹中的相对路径,以便在 Zip 文件中保留文件夹结构。
在 __main__ 块中,我们首先指定要打包的文件夹路径和打包后的文件名。然后,我们创建一个 ZipFile 对象,并使用 zipdir() 函数将文件夹中的所有文件添加到 Zip 文件中。最后,我们使用 with 语句来确保 ZipFile 对象在使用完毕后被正确关闭。
原文地址: https://www.cveoy.top/t/topic/lfhR 著作权归作者所有。请勿转载和采集!