秋瓶儿 2023-04-08 22:04 采纳率: 40%
浏览 39
已结题

for循环加append输出总文件中只有遍历的最后一个文件的文案

问题:将多个文件文案合并到一个文件当中,并且输出这个文件。我用for循环加append语句却发现最后输出的文件里面,只有for所遍历的最后一个文件里面的文案。为什么会这样呢?

如下图,

img

out1.txt,out2.txt,out3.txt 里面的文案分别是:
out1.txt :我要测试一下1111
out2.txt :这是第二个测试
out3.txt : 3333

我希望 all_files里面有:out1.txt,out2.txt,out3.txt 的文案
但是输出结果只有out3.txt的内容。

以下是用来输出all_file(即含有所有文件文案的文件)的那部分代码

 with open(path, 'r', -1, encoding='utf8') as txt:
               test = txt.readlines()
               names = os.path.split(path)
               allfile_path = os.path.join(names[0], 'all_files')
 with open(allfile_path, 'w', -1, encoding='utf8') as txt:
               ss=[]
               for s in test:
                    ss.append(s)
                    txt.writelines(s.strip('\n'))
  • 写回答

2条回答 默认 最新

  • 小小小小人水豚 2023-04-08 22:17
    关注

    你的本意是out1.txt,out2.txt,out3.txt 读出来的内容都放到test里,但是代码里test变量,每打开一个文件都重新赋值一次,所以最后只有最后一个文件的内容。test定义放到最外面,每读一个文件,test.extends(txt.readlines())

    有帮助的话,请点采纳该答案~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月8日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集