Python 匹配并从zip读取文件
我需要打开一个Python 匹配并从zip读取文件,python,zip,zipfile,Python,Zip,Zipfile,我需要打开一个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.fi
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导入zipfile
zf=ZipFile(“somezip.zip”)
对于zf.namelist()中的名称:
如果name.find(“manifest.v3”)>=0:
对于zf.read(name.split(“\n”)中的行:
对于有关findall的匹配(r'([0-9].*?),行):
零件=匹配。分割(“.”)
localVersion=部件[1]
打印本地版本
zf.close()
上面的代码工作得很好,但有时在zipfile上我有manifest.v3
文件和manifest.v3.old
,manifest.v3.old.old
等等
我如何保证只获取
manifest.v3
文件的结果?取而代之的是所有其他的?尝试将条件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
尝试将条件name.find(“manifest.v3”)>=0更改为name==“manifest.v3”