将变量传递到索引函数Python中

2024-05-19 00:02:52 发布

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

在这方面已经工作了很长一段时间了,我在这个网站上还没有找到任何相关的例子。我有一张单子,我想我要做的很简单。我只需要搜索那个列表,找到关键字“Buffer Log”。一旦我找到关键字,我需要打印该行的每一行,直到列表的末尾。任何指示都将不胜感激。看来我已经很接近了。你知道吗

logfile = open('logs.txt', 'r')
readlog = logfile.readlines()
logfile.close()

lines = []
for line in readlog:
    lines.append(line)


for x in lines:
    if "Log Buffer" in x:
       z =lines.index(x)
       print(lines[z:]

Tags: inlog列表for网站bufferline关键字
2条回答

您不需要使用for循环,在这个循环中,您将创建另一个名为lines的列表。你知道吗

您可以使用enumerate()来跟踪您所在的行号,同时搜索包含'Log Buffer'的行

找到包含'Log Buffer'的行时,只需记住行号,退出循环,然后从该行号开始打印readlog中的所有行。你知道吗

logfile = open('logs.txt', 'r')
readlog = logfile.readlines()
logfile.close()

for i,x in enumerate(readlog):
    if 'Log Buffer' in x:
        z = i # Remember the value of i for which the line had 'Log Buffer'
        break # Exit the loop.

print (*readlog[z:])  # Move your print statement outside the loop.

首先,代码:

lines = []
for line in readlog:
    lines.append(line)

是不必要的,因为readlog已经是一个列表。您可以尝试以下方法:

found = False
for line in readlog: # because this is already a list
    if "Log Buffer" in line:
        found = True # set our logic to start printing
    if found:
        print(line)

相关问题 更多 >

    热门问题