在文本文件打印行中查找字符串到新文件 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
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