使用python在文本文件中搜索术语

时间:2016-06-14 18:30:20

标签: python

我真的非常渴望得到一些关于这个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

提前谢谢。

3 个答案:

答案 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