0

我需要验证一个基本上是 .zip 的小部件是否符合以下合规性规则:
http ://www.w3.org/TR/widgets/#zip-archive

所以我需要的是能够签入该档案:

  • 压缩方法;
  • 提取文件条目所需的 Zip 版本;
  • Zip 相对路径(路径长度、字符编码、文件名)

从 python 解决这个问题的方法是什么(使用什么库,一些最小的代码示例会有所帮助)?

4

1 回答 1

1

你应该使用这个zipfile库 - 试试这个http://bip.weizmann.ac.il/course/python/PyMOTW/PyMOTW/docs/zipfile/index.html

要测试文件是否为 zip 文件:

import zipfile

for filename in [ 'README.txt', 'example.zip', 
                  'bad_example.zip', 'notthere.zip' ]:
    print '%20s  %s' % (filename, zipfile.is_zipfile(filename))

并访问 zip 文件的信息:

import datetime
import zipfile

def print_info(archive_name):
    zf = zipfile.ZipFile(archive_name)
    for info in zf.infolist():
        print info.filename
        print '\tComment:\t', info.comment
        print '\tModified:\t', datetime.datetime(*info.date_time)
        print '\tSystem:\t\t', info.create_system, '(0 = Windows, 3 = Unix)'
        print '\tZIP version:\t', info.create_version
        print '\tCompressed:\t', info.compress_size, 'bytes'
        print '\tUncompressed:\t', info.file_size, 'bytes'
        print

if __name__ == '__main__':
    print_info('example.zip')
于 2012-08-20T10:41:07.630 回答