我安装了Python libarchive 0.4.3。我想得到存储在7z文件中的7z文件的mtime。这与磁盘上本地存储的文件的mtime不同。让我们说它是潜在的源码C tarball lzma1604.7z。
以下程序将列出所有文件及其mtime。但我没有看到7z文件中给出的整个7z“tarball”的时间。
from libarchive.public import memory_reader
with open('lzma1604.7z', 'rb') as f:
buffer = f.read()
with memory_reader(buffer) as archive:
for entry in archive:
print(entry.pathname, entry.mtime)
以上程序打印:
('Asm/arm/7zCrcOpt.asm', datetime.datetime(2009, 10, 8, 5, 12))
('Asm/x86/7zAsm.asm', datetime.datetime(2012, 12, 30, 3, 41, 54))
...
('bin/7zSD.sfx', datetime.datetime(2016, 10, 4, 11, 12, 31))
('bin/lzma.exe', datetime.datetime(2016, 10, 4, 11, 12, 30))
('bin/x64/7zr.exe', datetime.datetime(2016, 10, 4, 10, 58, 29))
但如果我在最后运行7z l lzma1604.7z
:
2016-10-04 10:12:31 ....A 113152 bin/7zSD.sfx
2016-10-04 10:12:30 ....A 97280 bin/lzma.exe
2016-10-04 09:58:29 ....A 742400 bin/x64/7zr.exe
------------------- ----- ------------ ------------ ------------------------
2016-10-04 10:27:55 4534441 960121 620 files
那么如何通过libarchive获取Python的信息,特别是整个档案的mtime?