当python脚本崩溃时,csv编写器保留空输出文件

当python脚本崩溃时,csv编写器保留空输出文件,python,csv,writer,Python,Csv,Writer,我有一个脚本,可以对文件进行一些分析,然后将结果写入CSV文件。在伪代码中: while (there are still files to analyze): do_analysis writer.writerow({... lots of columns names and the analysis results data... }) 如果脚本完成,数据确实在csv文件中。 但是如果脚本崩溃,则文件为空。但是writer.writerow()行是在每次文件分析完成后调用的,因此

我有一个脚本,可以对文件进行一些分析,然后将结果写入CSV文件。在伪代码中:

while (there are still files to analyze): 
  do_analysis
  writer.writerow({... lots of columns names and the analysis results data... })
如果脚本完成,数据确实在csv文件中。 但是如果脚本崩溃,则文件为空。但是writer.writerow()行是在每次文件分析完成后调用的,因此我希望在csv文件中获取崩溃前分析的所有文件的数据


我做错了什么?

writerow不会立即写入文件,大部分写入都是在关闭文件时完成的。 您可以使用强制写入文件

file.flush()
每当您想将您的文字保存到文件时,请执行此操作


有关更多信息

能否显示一个而不是伪代码?否则,复制您的问题几乎是不可能的。谢谢!这就成功了。对于像我这样的新手,请注意:csv文件是这样打开的:使用open(csvfilename,mode='w',newline='')作为csv\u文件:因此我使用:csv\u file.flush()