5

次のようなフォルダーを含むzipファイルがあります。

some.zip/
    some_folder/
         some.xml
         ...

図書館を利用していzipfileます。私が欲しいのはsome.xmlファイルだけを開くことですが、今はsome_folderの名前は知りません。私のソリューションは次のようになります。

    def get_xml(zip_file):
        for filename in zip_file.namelist():
            if filename.endswith('some.xml'):
                return zip_file.open(filename)

リスト全体をスキャンする以外に、より良い解決策があるかどうか知りたいです。

4

2 に答える 2

2

を含むディレクトリを取得しますsome.xmlか?

import os
import zipfile

with zipfile.ZipFile('a.zip', 'r') as zf:
    for name in zf.namelist():
        if os.path.basename(name) == 'some.xml':
            print os.path.dirname(name)
于 2013-08-02T11:43:35.470 に答える