我需要打开一个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.old
,manifest.v3.old.old
等等。
我如何保证只获得manifest.v3
文件的结果?而不是所有其他人?
答案 0 :(得分:0)
尝试将条件name.find("manifest.v3") >= 0
更改为name == "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