Python写入函数不是写入最后一个条目

scm*_*nne 3 python csv

这是我的代码的简化版本.我正在尝试使用以下方法写入文件:

fileName = "missing.csv"
for x in range (0,5):
    print(x)
    saveData = open(fileName, "a")
    saveData.write(str(x)+'\n')
    saveData.close
Run Code Online (Sandbox Code Playgroud)

控制台打印:

0, 1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)

... 正如它应该.但是,当我打开missing.csv时,它只包含:

0
1
2
3
Run Code Online (Sandbox Code Playgroud)

没有最后一个条目(4).

有任何想法吗?请指教.

Ste*_*uch 5

如果您使用上下文管理器,则无需担心关闭:

fileName = "missing.csv"
for x in range(0, 5):
    print(x)
    with open(fileName, "a") as save_data:
        save_data.write(str(x) + '\n')
Run Code Online (Sandbox Code Playgroud)

如果您不希望在每次操作后关闭文件,您只能打开和关闭它,如:

fileName = "missing.csv"
with open(fileName, "a") as save_data:
    for x in range(0, 5):
        print(x)
        save_data.write(str(x) + '\n')
Run Code Online (Sandbox Code Playgroud)

  • 您也可以将循环置于上下文管理器中以打开文件****** (2认同)