python - 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
解决方案
您没有关闭文件写入您需要使用:
File2.close()
并不是
File2.close
如果没有括号,您只需命名函数而不实际调用它,然后它不会被执行
并且 write(newline) 方法只是将您的行传递给缓冲区,仅当缓冲区已满或调用 open() 或 close() 时才写入文件您的前 4 行是因为调用了 open() 方法而写入的在他们之后
推荐阅读
- python-3.x - 如何使用 python 将 postgresql 表迁移/复制到 oracle?
- discord - 如何(自动?)将 Discord 中的一段代码标记为剧透?
- python - 如何使用 setattr() 向对象属性添加值?
- vim - 如何删除vim中的最后一个空行?
- react-native - 视频预览(来自 react-native-video)未显示
- java - Android Studio:API 调用 - 如何从 JSON 对象中读取对象
- node.js - 将 discord.js bot 转换为 exe
- php - 多个文件附件并通过表单发送
- ffmpeg - 使用 NVENC 的 ffmpeg 强调级别图
- react-native - GetStream Chat React 本机:[错误:不支持 crypto.getRandomValues()。见 https://github.com/uuidjs/uuid#getrandomvalues-not-supported]