我正在使用此代码搜索特定的字符串:
stringToMatch = 'blah'
matchedLine = ''
#get line
with open(r'path of the text file', 'r') as file:
for line in file:
if stringToMatch in line:
matchedLine = line
break
#and write it to the file
with open(r'path of the text file ', 'w') as file:
file.write(matchedLine)
即使多次出现,它也只打印一次字符串。我还想在出现特定单词后打印所有行。我该怎么办?
设置标记以跟踪您何时看到该行,并在同一循环中将这些行写入输出文件。
string_to_match = "blah"
should_print = False
with open("path of the text file", "r") as in_file, open("path of another text file", "w") as out_file:
for line in in_file:
if string_to_match in line:
# Found a match, start printing from here on out
should_print = True
if should_print:
out_file.write(line)
stringToMatch = 'blah'
matchedLine = ''
# get line
lines = ''
match = False
with open(r'path of the text file', 'r') as file:
for line in file:
if match:
# store lines if matches before
lines += line + '\n'
elif stringToMatch in line:
# If matches, just set a flag
match = True
# and write it to the file
with open(r'path of the text file ', 'w') as file:
file.write(lines)