首页 > 解决方案 > Python 3 文本文件 - 我想在文件 1 中每行文本的末尾添加添加用户输入,然后将新行复制到文件 2 中

问题描述

File1 包含 5 行文本 File2 是空的 问:当我运行下面的代码时,我只得到附加到 File2 的前 4 行?有什么建议么?

        File1 = open("MyFile.txt", "r")

        for Line in File1:
            Line = Line.strip()
            AddData = input( "extra text")
            NewLine = Line + ":" + AddData  # : as field seperator
            File2 = open("MyFile2.txt", "a")
            File2.write(NewLine+"\n")
            print(NewLine) #remove

        File2.close

标签: pythontext-files

解决方案


您没有关闭文件写入您需要使用:

 File2.close() 

并不是

File2.close

如果没有括号,您只需命名函数而不实际调用它,然后它不会被执行

并且 write(newline) 方法只是将您的行传递给缓冲区,仅当缓冲区已满或调用 open() 或 close() 时才写入文件您的前 4 行是因为调用了 open() 方法而写入的在他们之后


推荐阅读