为什么在 "variable_names" returns 多个结果时 index 的值总是零?
Why is the value of index always zero when "variable_names" returns multiple results?
我想计算每个正则表达式搜索文件的结果。我相信我正在填充一个列表,然后循环尝试获取计数器的值。
for file in XDTS:
data_tag_regex = re.compile(r'data_tag=\"(.*?)\"')
if file.endswith('.xdt'):
xdt_file = open(file, 'r')
for line in xdt_file:
variable_names = data_tag_regex.findall(line)
for index, variable_name in enumerate(variable_names):
print(index)
你有一个匹配项每行,还有多行匹配项。您的 enumerate()
调用每次都从 0 开始,因为它是每个新行的 新调用:
for line in xdt_file:
# per line, find matches
variable_names = data_tag_regex.findall(line)
# for *this line only* print the indices, counting from 0
for index, variable_name in enumerate(variable_names):
print(index)
如果您想在所有行中为每个匹配保留一个索引,您需要独立计算:
index = 0
for line in xdt_file:
variable_names = data_tag_regex.findall(line)
for variable_name in variable_names:
index += 1
print(index)
我想计算每个正则表达式搜索文件的结果。我相信我正在填充一个列表,然后循环尝试获取计数器的值。
for file in XDTS:
data_tag_regex = re.compile(r'data_tag=\"(.*?)\"')
if file.endswith('.xdt'):
xdt_file = open(file, 'r')
for line in xdt_file:
variable_names = data_tag_regex.findall(line)
for index, variable_name in enumerate(variable_names):
print(index)
你有一个匹配项每行,还有多行匹配项。您的 enumerate()
调用每次都从 0 开始,因为它是每个新行的 新调用:
for line in xdt_file:
# per line, find matches
variable_names = data_tag_regex.findall(line)
# for *this line only* print the indices, counting from 0
for index, variable_name in enumerate(variable_names):
print(index)
如果您想在所有行中为每个匹配保留一个索引,您需要独立计算:
index = 0
for line in xdt_file:
variable_names = data_tag_regex.findall(line)
for variable_name in variable_names:
index += 1
print(index)