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

时间:2017-06-17 14:29:46

标签: python text-parsing

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

testing.txt是一个包含Bohemian Rhapsody歌词的文件。最重要的是,我试图让它做的只是打印一条线。我尝试了几种不同类型的设置,如下所示。它们被显示为已注释,因为我只是在评论我无法工作的所有内容。在某些时候可能还有其他代码与其中的每个代码一起出现但是---行分隔了我尝试过的所有内容。

#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
#    

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

我只是想学习一些基础知识。而且我确定我正在寻找一些东西。如果它在#中,当我在这里处理它时,我并不关心正确的缩进。把它想象成我在尝试这个小代码时一直保留的更多笔记。

1 个答案:

答案 0 :(得分:0)

我假设您的问题是没有打印出来。

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

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