我真的非常渴望得到一些关于这个python代码的帮助。我需要搜索变量(字符串),返回它和与变量数据在同一行上的数据。
我设法创建了一个变量然后在文本文件中搜索变量,但是如果在文本文件中找到变量中包含的数据,则打印出整个文本文件的内容而不是存在可变数据的行。
这是我的代码到目前为止,请帮助:
number = input("Please enter the number of the item that you want to find:")
f = open("file.txt", "r")
lines = f.read()
if lines.find("number"):
print (lines)
else:
f.close
提前谢谢。
答案 0 :(得分:2)
请参阅以下我的更改:
number = input("Please enter the number of the item that you want to find:")
f = open("file.txt", "r")
lines = f.read()
for line in lines: # check each line instead
if number in line: # if the number you're looking for is present
print(line) # print it
答案 1 :(得分:0)
就像
lines_containg_number = [line for line in lines if number in line]
这样做会以列表的形式为您提供文本文件中的所有行,然后您只需打印出列表中的内容......
答案 2 :(得分:0)
如果使用'with'循环,则不必关闭文件。它将由with处理。否则你必须使用f.close()。解决方案:
number = input("Please enter the number of the item that you want to find:")
with open('file.txt', 'r') as f:
for line in f:
if number in line:
print line