如何使用Python只打印文本文件中字符串的第一个实例?

2024-10-06 12:14:40 发布

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

我试图从Python中的.txt文件中提取数据。我的目标是捕捉某个单词的最后一次出现并显示下一行,所以我对文本做一个反向()并从后面阅读。在本例中,我搜索单词'MEC',并显示下一行,但是我捕获了这个单词的所有出现,而不是第一行。在

你知道我要做什么吗?在

谢谢!在

我的代码是这样的:

import re

from file_read_backwards import FileReadBackwards

with FileReadBackwards("camdex.txt", encoding="utf-8") as file:
    for l in file:
        lines = l

        while line:
            if re.match('MEC', line):
                x = (file.readline())
                x2 = (x.strip('\n'))
                print(x2)
                break
            line = file.readline()

txt文件包含以下内容:

^{pr2}$

用我的代码打印输出:

^{3}$

我唯一的目标是:

28,29/35

Tags: 文件数据代码文本importretxt目标
2条回答

摆脱额外的进口和开销。正常读取文件,记住最后一行符合条件。在

with ("camdex.txt", encoding="utf-8") as file:
    for line in file:
        if line.startswith("MEC"):
            last = line

print(last[4:-1])    # "4" gets rid of "MEC "; "-1" stops just before the line feed.

如果文件非常大,那么向后读取是有意义的,查找到末尾,备份将比读取到结尾更快。在

这也会给你结果。循环遍历行,将匹配的行添加到数组中。然后打印最后一个元素。在

import re
with open("data\camdex.txt", encoding="utf-8") as file:
    result = []
    for line in file:
        if re.match('MEC', line):
            x = file.readline()
            result.append(x.strip('\n'))

print(result[-1])

相关问题 更多 >