在文本文件打印行中查找字符串到新文件python2.7

2024-05-23 19:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

你知道吗测试.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
#    

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

我只是想学一些基础知识。我肯定我在看什么。如果是在#我在这里处理的时候不关心适当的缩进。把它看作是我在尝试编写这段小代码时保存的更多笔记。你知道吗


Tags: txtforsearchifaswithlineopen
1条回答
网友
1楼 · 发布于 2024-05-23 19:22:50

我想你的问题是没有打印出来。你知道吗

关于您的问题的第一个代码已经差不多了,问题是通过检查相等性(==),只有当行正好是x的值时,才会执行打印。可以使用in运算符而不是相等运算符

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

相关问题 更多 >