如果前一行以某个字符串开头,我需要能够在打开的文本文件中打印下一行。 itertools方法没有完成我想要的。以下是我正在打印的文本示例:
以下是另一个主题:How to print next line in python
我想在以“密码”开头的任何行之后打印该行。
itertools islice方法似乎没有做任何事情,除非我错误地实现它,print(next(op))
也没有。 (op
是我的open(filename)
)的名称。
这是我的完整代码:
def nonblank_lines(f):
nonempty_lines = []
for l in f:
line = l.rstrip()
if line:
yield line.lstrip()
with open("C:\\Users\\MyName\\Desktop\\BLRP.txt", "r+") as op:
for line in nonblank_lines(op):
if line.startswith("Computer Name") or line.startswith("ERROR") or line.startswith("ID"):
print(line)
elif line.startswith("Password"):
***print(next(op))***
#What do I do here?
op.close()
答案 0 :(得分:0)
file = open("file","r+")
for line in file:
if line.startswith("This"):
print(file.readline())
file.close()
答案 1 :(得分:0)
with open("C:\\Users\\MyName\\Desktop\\BLRP.txt", "r+") as op:
instance_of_generator = nonblank_lines(op)
for line in instance_of_generator:
if line.startswith("Computer Name") or line.startswith("ERROR") or line.startswith("ID"):
print(line)
elif line.startswith("Password"):
print(next(instance_of_generator))