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