Ashwini Chaudhary 的解决方案要好得多,将我的回答视为出错原因和出错原因的背景资料,以及在循环内部或外部打开/关闭文件的区别。
文件的打开和关闭应该是成对的,就像这里,文件在循环内反复打开、写入和关闭:
for a in range(3):
result = 'abcd' + a
opener = open('file.txt', "a")
print results
opener.write(results)
opener.close()
但是,在许多情况下,由于打开和关闭文件的成本,在循环中打开和关闭文件并不是一个好主意,因此最好在循环之前打开文件,在循环中写入文件,然后循环后关闭它:
opener = open('file.txt', "a")
for a in range(3):
result = 'abcd' + a
print results
opener.write(results)
opener.close()
当然,当文件保持打开状态并且循环很长时,如果程序崩溃、中断或重新启动计算机,您就有丢失数据的风险。在这些情况下,强制刷新到操作系统在许多情况下比重复打开/关闭文件更好:
opener = open('file.txt', "a")
for a in range(3):
result = 'abcd' + a
print results
opener.write(results)
opener.flush()
opener.close()