我需要验证一个基本上是 .zip 的小部件是否符合以下合规性规则:
http ://www.w3.org/TR/widgets/#zip-archive
所以我需要的是能够签入该档案:
- 压缩方法;
- 提取文件条目所需的 Zip 版本;
- Zip 相对路径(路径长度、字符编码、文件名)
从 python 解决这个问题的方法是什么(使用什么库,一些最小的代码示例会有所帮助)?
我需要验证一个基本上是 .zip 的小部件是否符合以下合规性规则:
http ://www.w3.org/TR/widgets/#zip-archive
所以我需要的是能够签入该档案:
从 python 解决这个问题的方法是什么(使用什么库,一些最小的代码示例会有所帮助)?
你应该使用这个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')