我正在执行一些计算来生成数学函数的混沌解。我有一个无限循环,看起来像这样:
f = open('solutions.csv', 'a')
while True:
x = generate_random_parameters() # x is a list of floats
success = test_parameters(x)
if success:
print(','.join(map(str, x)), file=f, flush=True)
generate_random_parameters()
和test_parameters()
的实现在这里并不是很重要。
当我想停止生成解决方案时,我想
^C
,但我想确保 solutions.csv
保持其完整性/不会被损坏/等等,以防我在写入文件时碰巧中断。
到目前为止,我还没有观察到这种情况发生,但我想消除这种情况发生的任何可能性。
此外,由于程序永远不会自行终止,所以我没有相应的
f.close()
——这应该没问题,对吗?
感谢任何澄清。