Python如何打印文本文件中包含指定关键词的完整行
实现方案
你原有代码直接对文件对象判断'user' in file无法得到预期结果,需要遍历文件的每一行做关键词匹配,推荐使用上下文管理器with处理文件,无需手动关闭文件句柄,代码更安全:
with open("money.txt", "r", encoding="utf-8") as file: for line in file: if "user" in line: # strip()可去除行尾的换行符,不需要可以直接打印line print(line.strip())
如果你要沿用原有写法,需要手动关闭文件避免资源占用:
file = open("money.txt","r", encoding="utf-8") for line in file: if 'user' in line: print(line) file.close()
补充说明
- 加上
encoding="utf-8"参数可以避免不同系统默认编码差异导致的乱码问题,可根据你文件的实际编码调整参数值 - 如果需要忽略大小写匹配关键词,可以把判断条件改为
if "user" in line.lower() - 如果你需要留存匹配到的行后续处理,可以定义一个空列表,在循环中把符合条件的
line追加到列表中
内容的提问来源于stack exchange,提问作者httpanand
相关产品推荐
相关产品推荐

