有没有办法使用 Python 连接 .txt 文件中的分隔字符串值?

Is there a way to concatenate separated string values in a .txt file using Python?

我在 python 中有一个列表,其中包含软件包和版本号,但它们没有像 'package-0.14' 那样列出 - 也就是说,版本号不是文件名的一部分.格式如下:

packagename = 0.14

我有另一个 .txt 文件,它有相同的信息,但更多,这是个问题。它的格式如下:

Package: packagename

Package size: 100MB

Version: 0.14

所以它们不仅是行分隔的,而且在两个值之间有更多信息,我需要以某种方式忽略这些信息。我需要包名称和版本号,因为它们相互关联,因此我可以检查第一个列表中的值是否与 .txt 文件的值匹配。

在 python 中有没有一种方法可以说“获取‘Package:’的值”,然后逐行获取“Version:”的值,这样我就知道它的版本同一个包裹?

使用re模块。

>>> import re
>>> s = '''

    Package: packagename

    Package size: 100MB

    Version: 0.14
'''
>>> re.findall(r'(?s)\bPackage:\s*(\S+).*?\bVersion:\s*(\S+)', s)
[('packagename', '0.14')]

将你的文件解析成字典,从字典中提取信息:

with open(filename) as f:
   lines=f.readlines()

d=dict()
for line in lines:
  line=line.strip()
  if line:
     (k,v)=line.split(":", 1)
     d[k]=v

print("%s: %s" % (d['Package'], d['Version']))