提取行中的数字并将它们存储在 Python 中列出

Extracting digits in line and storing them to list in Python

我有一个生成字符串“Created Form XX”的文本文件,其中 XX 是一个整数。我只想提取整数并将其保存到列表中,以便稍后在我的 python 程序中使用。

下面是我到目前为止能够执行但无法显示数字的代码

import re
with open("filename.txt") as f:
  for line in f:
    if "form" in line:
      re.findall('\d+', line)

如何打印最后一行代码的输出并分配给列表?

re.findall returns 匹配值列表(在您的例子中是匹配的数字列表)。您应该将列表分配回一个变量(以便您以后可以使用它)-

nums = re.findall('\d+', line)

如果你想打印这个列表,你可以简单地做 -

print(nums)

如果您想在单独的行中打印每个匹配的元素,您可以使用 for 循环或 str.join() -

for i in nums:
    print(i)

您可以在顶部保留一个列表,其中存储您找到该文件的所有编号,并使用 nums 列表扩展该列表。例子-

import re
numslist = []
with open("filename.txt") as f:
    for line in f:
        if "form" in line:
            nums = re.findall('\d+', line)
            numslist.extend(nums)