我正在尝试解析特定分隔符的日志文件(" ##")。解析后,我得到每行的内容。然后我使用.split("")分割线条,它给出了我在每一行中寻找的字符串。我想把每一行都放到一个清单中。以下是我现在编码的方式。
LNsearch = "##"
old = open(file)
with old as f
for line in f:
if LNsearch in line:
LNfinder = line.split(" ")[1].replace('\n','')
print(LNfinder)
results:
str1
str2
str3
str4
...
我希望得到[' str1',' str2',' str3',' str4','。 ..']
谢谢,
答案 0 :(得分:0)
基于Patrick Haugh在评论中提到的想法。
我使用名为test.txt的文件,内容为:
## str1
## str2 X
## str3 X
## str4 X
下面的代码打开并读取test.txt。 for循环解析每一行并搜索" ##"和" "在线。 如果找到,则将索引1处的拆分项追加到名为lst的列表中,并删除\ n。 名为lst的列表最后会打印出来。
# Test file to read.
file = 'test.txt'
LNsearch = "##"
with open(file) as f:
# Prepare list to collect wanted strings.
lst = []
for line in f:
# Require "##" in line and " " in line to be valid.
if LNsearch in line and " " in line:
# Get 2nd substring and ensure no \n.
LNfinder = line.split(" ")[1].replace('\n','')
# This appends to the list named lst.
lst.append(LNfinder)
# Print final list.
print('lst:', lst)
输出是:
lst: ['str1', 'str2', 'str3', 'str4']