1

我需要打开一个manifest.v3文件并读取版本字段(xml 文件),为此我使用以下代码:

from zipfile import ZipFile
zf = ZipFile("somezip.zip")
for name in zf.namelist():
    if name.find("manifest.v3")  >= 0:
        for line in zf.read(name).split("\n"):
            for match in  re.findall(r'<value name="version">([0-9].*?)</value>',line):
                parts=match.split(".")
                localVersion=parts[1]
                print localVersion
zf.close()

上面的代码效果很好,但有时在 zipfile 上我有manifest.v3文件和manifest.v3.oldmanifest.v3.old.old等等。

我如何保证我只得到manifest.v3文件的结果?而不是所有其他人?

4

1 回答 1

0

尝试将条件更改name.find("manifest.v3") >= 0name == "manifest.v3"

在下面添加了一些示例

In [181]: name = "manifest.v3"

In [182]: name.find("manifest.v3") >= 0
Out[182]: True

In [183]: name = "manifest.v3.old.old"

In [184]: name.find("manifest.v3") >= 0
Out[184]: True

In [185]: name == "manifest.v3"
Out[185]: False

In [186]: name = "manifest.v3"

In [187]: name == "manifest.v3"
Out[187]: True
于 2012-09-28T11:09:18.567 回答