Arv*_*d T 1 python input readline
我试图从用户那里获取输入并从文件中搜索字符串,然后打印该行。当我尝试执行时,我不断收到此错误。我的代码是
file = open("file.txt", 'r')
data = file.read()
zinput = str(input("Enter the word you want me to search: "))
for zinput in data:
line = data.readline()
print (line)
Run Code Online (Sandbox Code Playgroud)
您的代码中有很多地方需要改进。
data是一个字符串,str没有属性readline()。read将从文件中读取整个内容。不要这样做。break一旦你找到循环zinput。算法其实很简单:
1)文件对象是一个可迭代的,逐行读取。
2) 如果一行包含您的zinput,请打印它。
代码:
file = open("file.txt", 'r')
zinput = str(input("Enter the word you want me to search: "))
for line in file:
if zinput in line:
print line
break
file.close()
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用with使事情变得更容易和更短。它将为您关闭文件。
代码:
zinput = str(input("Enter the word you want me to search: "))
with open("file.txt", 'r') as file:
for line in file:
if zinput in line:
print line
break
Run Code Online (Sandbox Code Playgroud)