【发布时间】:2019-06-26 14:31:25
【问题描述】:
我编写了一个脚本,它获取比特币数据并将其保存在 .txt 文件中,或者在存在 .txt 文件的情况下,它会更新它们。 .txt 文件是neo4j 的节点和连接节点的关系。
在脚本的开头:
- 它检查文件是否存在,然后打开它们并添加新行或
- 如果文件不存在,脚本会创建它们并开始追加行。
.txt 文件不断打开,脚本写入新数据。写入所有数据或终止执行后,.txt 文件将关闭。
我的问题是:
我应该为每次迭代和每个 .txt 文件打开、写入、关闭每个 .txt 文件吗?
或
我应该保持现在的样子吗?打开 .txt 文件,进行所有写入,写入完成后关闭 .txt 文件
我正在保存来自 6013 个块的数据。哪种方式可以最大限度地降低损坏写入 .txt 文件中的数据的风险?
【问题讨论】:
-
是否需要每次都覆盖文件,还是只写到文件末尾?
-
对于小文件和短期程序来说多余的东西可能对大文件和长期运行的程序至关重要。无论如何,“最有效”似乎是一个错误的问题。你指的是什么指标?
-
取决于你是否关心另一个并发版本的代码正在运行,或者这个版本崩溃......听起来你应该考虑使用关系数据库,它们可能对这类事情有好处跨度>
-
@בנימיןכהן 我需要写在文件的末尾。不能选择丢失以前写入的数据。
-
@tripleee 我引用了我的问题的一部分:“哪种方式可以最大程度地减少产生与数据写入方式相关的任何错误的风险。”。我的意思是哪种方式可以提高不损坏文件的可能性。