0

基本的に.zipであるウィジェットが次のコンプライアンスルールに準拠しているかどうかを確認する必要があります:
http ://www.w3.org/TR/widgets/#zip-archive

したがって、私が必要としているのは、そのアーカイブをチェックインできるようにすることです。

  • 圧縮方法;
  • ファイルエントリを抽出するために必要なZipのバージョン。
  • Zip相対パス(パスの長さ、文字エンコード、ファイル名)

Pythonからこれにアプローチする方法は何でしょうか(どのlibを使用するか、いくつかの最小限のコード例が役立ちます)?

4

1 に答える 1

1

zipfilelibを使用する必要があります-これを試してください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 に答える