You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python写文件时如何让内容与print逐行输出的效果完全一致?

问题原因

你当前的代码直接对matched_lines[0:2]切片得到的列表整体做了字符串转换,写入文件的是列表的完整字符串表示,因此会自带外层方括号[],和你循环打印时逐行输出单个元组的效果存在差异。

修改方案

方案1:基于原有写法逻辑调整

和print的遍历逻辑保持一致,逐行写入每个元素即可:

#1 
for line in matched_lines[0:2]:
    #2       
    print(line) 

#3        
file = open("pythonsnmp.txt", "w")
for line in matched_lines[0:2]:
    #4        
    x = str(line)
    #5        
    file.write(x)
    #6        
    file.write('\n')
#7        
file.close()

方案2(更推荐)

使用with上下文管理器自动管理文件关闭,避免遗漏close()导致的资源泄漏,代码更简洁:

for line in matched_lines[0:2]:
    print(line)

with open("pythonsnmp.txt", "w") as file:
    for line in matched_lines[0:2]:
        file.write(f"{line}\n")

修改后写入文件的内容会和print输出的内容完全一致,每行一个元组,无外层方括号。

内容的提问来源于stack exchange,提问作者Lu儒

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:36:03