在文本文件打印行中查找字符串到新文件 Python 2.7

Finding String in Text file printing line to a new file Python 2.7

 x = "mama"
 with open("testing.txt") as search:
     for line in search:
         line = line.rstrip()
         if x == line:
             print line

testing.txt 是一个包含波西米亚狂想曲歌词的文件。最重要的是,我想让它做的只是打印一行。我尝试了几种不同类型的设置,如下所示。它们显示为已注释掉,因为我一直在注释掉我无法开始工作的所有内容。在某些时候可能还有其他代码与它们中的每一个一起出现,但是 --- 行将我尝试过的所有内容分开。

#searchquery = 'mama\n'

#with open('testing.txt', 'r') as f1:
#   with open('616.txt', 'w') as f2:
#      for line in f1:
#         if line == searchquery:
#            print line
#            f2.write(line)
#            f2.write(f1.next())
#            f2.write(f2.next())
#f1.close()
#f2.close()

#        -----------------------------------------------

#searchquery = 'mama\n'
#x=57
#to open the files for below I did something like:
#with open("testing.txt", r) as f1:
#    with open("614.txt", w) as f2:
#while i <=x:
#    if lines[i] == searchquery:
#            f2.write(Lines[i])
#            f2.write(Lines[i+1])
#            f2.write(Lines[i+2])             
#    else:
#        i = i+1
#    

#----------------------

我只是想学习一些基础知识。而且我确定我正在查看一些东西。如果它在 # 中,当我在这里处理它时,我并不关心适当的缩进。将其视为我在尝试此小代码时一直保留的更多注释。

我假设你的问题是什么都没有打印出来。

关于你问题的第一个代码几乎就在那里,问题是通过检查相等性 (==) 只有当该行恰好是 x 的值时才会执行打印。您可以使用 in 运算符而不是 equality

x = "mama"
with open("testing.txt") as search:
     for line in search:
         line = line.rstrip()
         if x in line:
             print line