python:如何获取压缩文件夹中文件的元数据
python:如何获取压缩文件夹中文件的元数据,python,zip,zipfile,Python,Zip,Zipfile,我正在尝试构建一个用Python编写的脚本,该脚本将浏览归档文件(在本例中为zip),并递归地获取文件的所有元数据。 我通常使用以下命令获取元数据: (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(fname) 问题是我不想从zip中提取文件,因此我没有提供到os.stat()的路径。我唯一能做的就是: z=zipfile.ZipFile(zfilename,'r') for info in
我正在尝试构建一个用Python编写的脚本,该脚本将浏览归档文件(在本例中为zip),并递归地获取文件的所有元数据。
我通常使用以下命令获取元数据:
(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(fname)
问题是我不想从zip中提取文件,因此我没有提供到os.stat()的路径。我唯一能做的就是:
z=zipfile.ZipFile(zfilename,'r')
for info in z.infolist():
fname = info.filename
data = z.read(fname)
我可以使用“数据”获取我需要的信息吗?或者我应该使用另一种方法吗?ZIP格式包含的元数据几乎没有文件系统中的文件多(也不需要)。您可以从zipfile中提取所有元数据,而无需解压缩文件内容 提供了一个元数据列表,允许您访问该元数据
import os
import zipfile
z=zipfile.ZipFile(zfilename,'r')
for info in z.infolist():
fname = info.filename
data = z.read(fname)
print(fname)
print(data)
您可以使用方法infolist()
要仅处理文件,请在elem.filename.endswith('/')中使用check
为了获得文件创建/修改的年份和月份,您可以使用elem.date\u time[0]
和elem.date\u time[1]
我怀疑这是否有帮助,甚至是否有效。为了让我相信StackOverflow是一个免费的代码编写服务,同时也为了帮助消除这种误解,请添加一个解释,说明它是如何工作的以及为什么会有帮助。请在回答中加上解释,把它删掉。你解释得越多,你的答案就越有说服力和帮助。请不要只发布代码作为答案,还要解释代码的作用以及它如何解决问题。带解释的答案通常更有帮助,质量也更好,而且更有可能吸引上流社会的人来写这篇文章!我是新来的。我补充说。
with zipfile.ZipFile(path_zip_file, 'r') as zip_file:
for elem in zip_file.infolist():
if elem.filename.endswith('/'):
continue
print('year_last_modified', elem.date_time[0])
print('month_last_modified', elem.date_time[1])