Python,选择一个特定的lin

2024-03-28 17:27:16 发布

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

我想用python读取一个文本文件并打印出特定的行。问题是我想打印一行,它以单词“nominal”(我知道怎么做)开头,后面的一行不能被特定的字符串识别。你能给我指出一些能做到这一点的代码行吗?你知道吗


Tags: 字符串代码单词文本文件nominal
2条回答

本着诚意,并假设这将有助于您开始编写代码并显示出一些努力,接下来:

file_to_read = r'myfile.txt'

with open(file_to_read, 'r') as f_in:
    flag = False
    for line in f_in:
        if line.startswith('nominal'):
            print(line)
            flag = True
        elif flag:
            print(line)
            flag = False

它可能是开箱即用的,但请尝试花一些时间来研究它,你一定会得到背后的逻辑。注意,python中的文本比较区分大小写。你知道吗

如果文件不太大,可以将其全部放在一个列表中:

def printLines(fname):
    with open(fname) as f:
        lines = f.read().split('\n')
        if len(lines) == 0: return None
        if lines[0].startswith('Nominal'): print(lines[0])
        for i, line in enumerate(lines[1:]):
            if lines[i-1].startswith('Nominal') or line.startswith('Nominal'):
                print(line)

然后printLines('test.txt')就会做你想做的事。你知道吗

相关问题 更多 >