打开一个正在退出的文件并向其中写入字典时,有时会将字典(正在写入一行)追加到上一行的末尾。我如何设置这个代码来防止这种情况发生?它似乎只发生在先前的代码'run'崩溃并且我重新启动了代码,并且它开始写入前一次运行的文件(我想要的 - 只是没有添加到前一行的末尾)。Python - 有时将一个CSV文件的附加行添加到前一行的末尾
#Creating output dictwriter for results
with open(csv, 'a', 0) as outputFile:
fieldnames = csvCols
successWriter = csv.DictWriter(outputFile, fieldnames=fieldnames)
successWriter.writerow(out_dict)
outputFile.close()
打开文件'ab'模式会有所作为吗?
是从“撞车”的文件在最后一行的末尾缺少一个换行符?它是否像打开文件追加之前检查文件的最后一行换行符一样简单? – mhopeng
请注意,您不需要'outputFile.close()'行,因为'with'语句会自动为您关闭文件。 –
是的,他们是 - 我不知道该怎么做。而且我也认为这不是必要的,因为我确信可以通过某种方法确保总是写一个换行符。因为,而这正是我感到困惑的地方,当脚本崩溃时,文件始终是关闭的 - 也就是说,崩溃不会发生在上面的代码中,而是出现在代码之前或之后的代码中 - 但是文件是在这些情况下不开放或关闭并已写入。 – traggatmot