m0_57965808 2022-03-01 16:30 采纳率: 90.9%
浏览 21
已结题

用with open方法写入文件出现内容残缺

今天我用with open() as f 将文本内容写入文件的时候出现了文本大部分缺失的情况。真正写入文件的只有最后一段,前面的部分一点都没写入。
本应写入的:

img

实际写入的:

img


望各位有识之士不吝赐教。
PS:之后我将w模式改为了a+模式,然后就可以了。请问这是为什么呢?

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-03-01 16:51
    关注

    如果是w 模式, 要把 with open 放到循环前面去, 不能放在循环体里。

    测试下这三种情况,看能否给你提示。

    with open("t1.txt",'w') as f:
        for i in range(1,11):
            f.write("Line{}\n".format(i))
    
    
    for i in range(1,11):
        with open("t2.txt", 'w') as f:
            f.write("Line{}\n".format(i))
    
    
    for i in range(1,11):
        with open("t3.txt", 'a') as f:
            f.write("Line{}\n".format(i))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 修改了问题 3月1日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么