假设我想读取文件当前行的内容并检查内容是否与输入匹配:
keyword = input("Please enter a keyword: ")
file = open('myFile.txt', encoding='utf-8')
for currentLine, line in enumerate(file):
if currentLine%5 == 2:
if currentLine == keyword:
print("Match!")
else:
print("No match!")
显然这不起作用,因为currentLine
是一个整数(当前行号),year
是一个字符串。我如何获得当前行的内容? currentLine.readlines()
没有用,我认为我会这样做。
答案 0 :(得分:4)
您有line
作为变量(表示每行的字符串)。你为什么不用它?
keyword = input("Please enter a keyword: ")
file = open('myFile.txt', encoding='utf-8')
for currentLine, line in enumerate(file):
if currentLine % 5 == 2:
if line.rstrip('\n') == keyword: # <------
print("Match!")
else:
print("No match!")
我使用str.rstrip('\n')
因为迭代行包含换行符。
如果您想检查包含关键字的行,请改用in
运算符:
if keyword in line:
...
BTW,enumerate
的默认起始编号为0
。如果您想要行号(从1开始),请明确指定:enumerate(file, 1)