python - 如何从文本文件中提取行(包含特定字符)?
问题描述
我有一个这样的文本文件:
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中做到这一点?
解决方案
尝试这个:
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
推荐阅读
- docker - 支持在 docker 容器内运行 wireguard 的网络配置
- ios - 在发布版本中禁用 iOS OSLog
- vapor - Leaf 找不到我的模板 - Xcode 12 Vapor 4
- javascript - 反应钩子没有在点击时更新
- java - 将数组重新引用回主的问题
- python - 如何在时间序列轴上绘制垂直线?
- c# - C# HashSet 偶尔但可重现地生成 System.OutOfMemoryException
- c++11 - wxWidgets pprogrammaticaly 移动到下一个输入控件
- r - 使用 data.table 按与另一行的距离选择行
- python - soup.find_all 不返回任何数据