首页 > 解决方案 > 如何从文本文件中提取行(包含特定字符)?

问题描述

我有一个这样的文本文件:

aaa:bbb:ccc:dd:ooo
fff:ggg:sddfg:sfsf:s8fsdf
fsdfsd:ghfgh:fsdd:bbf:tyuter:fgdfg
dfgdjrth:hdfg:HDfgsdjtyerER:Ghdrsg:Hdsg8hdd:ssfd

我需要一种方法来仅提取包含数字 8 的行。在这种情况下,输出应该是这样的:

fff:ggg:sddfg:sfsf:s8fsdf
dfgdjrth:hdfg:HDfgsdjtyerER:Ghdrsg:Hdsg8hdd:ssfd

有没有办法在python中做到这一点?

标签: python

解决方案


尝试这个:

with open ('test.txt', 'rt') as myfile:
    for myline in myfile:
        if "8" in myline:
            print(myline.rstrip("\n"))  

您需要做的就是检查其中是否有一行"8"。我为此使用了 if 语句。如果是,则打印它。

的作用myline.rstrip("\n")是去掉\n末尾的。没有它,这就是你的输出:

fff:ggg:sddfg:sfsf:s8fsdf

dfgdjrth:hdfg:HDfgsdjtyerER:Ghdrsg:Hdsg8hdd:ssfd

但是,有了它,这是您的输出,我认为这就是您想要的:

fff:ggg:sddfg:sfsf:s8fsdf
dfgdjrth:hdfg:HDfgsdjtyerER:Ghdrsg:Hdsg8hdd:ssfd

推荐阅读