增量追加到文件的最安全方法?

问题描述 投票:0回答:1

我正在执行一些计算来生成数学函数的混沌解。我有一个无限循环,看起来像这样:

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()
——这应该没问题,对吗?

感谢任何澄清。

python file io
1个回答
0
投票

每次打开文件时使用

with
上下文管理器通常是一个很好的做法,它会自动处理文件关闭,并且通常更安全。(
pylint
pep ctrl-c

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.