在Python中压缩目录,丢失Metad

2024-04-25 13:51:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,拉链的文件夹和任何子文件夹。问题是元数据,如创建和修改日期,似乎被剥离了。这是一个问题,因为当我试图列出zip中的项目时,只显示文件,而不显示目录。你知道吗

import zipfile
import os


with zipfile.ZipFile("testing.zip", 'a') as zip_file:
for root, dirs, files in os.walk("test_dir"):
    for local_file in files:
        zip_file.write(os.path.join(root, local_file))


print("Created Zip with Python")
with zipfile.ZipFile('testing.zip') as zip_file:
    list = zip_file.infolist()
    for item in list:
        print(item.filename)

print("Zip created with 7Zip")
with zipfile.ZipFile('test_dir.zip') as zip_file:
    list = zip_file.infolist()
    for item in list:
        print(item.filename)

我先把目录压缩。然后我打印出结果zip中的文件。然后,我打印出另一个zip文件,这是我用第三方程序生成的。这是程序的输出

Created Zip with Python
test_dir/A Test Doc.txt

Zip created with 7Zip
test_dir/
test_dir/A Test Doc.txt

第三方程序打印出目录,python生成的zip不打印。在压缩目录时,有没有办法保存元数据?这是在Windows上的python2.7.6下实现的。你知道吗


Tags: intest程序forosdirwithzip