使用 python,我得到了以下列表:
data = ['element0', 'element1', 'element2', 'element3']
Run Code Online (Sandbox Code Playgroud)
我想将每个元素写入“myfile.txt”的新行中,所以我一直在尝试这样做:
for x in data:
open("myfile.txt", "w").write(x + "\n")
Run Code Online (Sandbox Code Playgroud)
这给了我这个(在“myfile.txt”内):
element3
Run Code Online (Sandbox Code Playgroud)
我看起来每次循环时都会将元素写入最后一个元素的顶部。
期望的结果(在“myfile.txt”内):
element0
element1
element2
element3
Run Code Online (Sandbox Code Playgroud)
只需打开文件对象一次:
with open("myfile.txt", "w") as fobj:
for x in data:
fobj.write(x + "\n")
Run Code Online (Sandbox Code Playgroud)
我通过将该文件传递给语句来将其用作上下文管理器with;这可确保在代码块完成后再次关闭文件。
每次以'w'(写)模式打开文件对象时,文件都会被截断、清空。您必须使用'a'(追加)模式来防止文件被截断。
但是,仅打开文件一次会更加高效。
| 归档时间: |
|
| 查看次数: |
3556 次 |
| 最近记录: |