循环时附加到文件安全吗?

Posted

技术标签:

【中文标题】循环时附加到文件安全吗?【英文标题】:Safe To Append to File When Looping? 【发布时间】:2014-03-14 15:24:11 【问题描述】:

在我之前的一个问题中,我了解到循环时不要修改列表,而是首先制作原始列表的副本并使用它。附加到文本文件时是否同样适用?循环时附加到文本文件是否有任何危险。这是我创建并想使用的代码:

rule = ["rule 1", "rule 2", "rule 3"]

def rule_file(rule):
    with open('rules.txt', 'a') as f:
        for r in rule:
            f.write(r + "\n")

rule_file(rule)

【问题讨论】:

【参考方案1】:

如果您在读取该文件时附加到一个文本文件,您可能会遇到问题。但是,在这里,您正在修改的内容与您正在迭代的列表无关。没关系。仅当您修改迭代的相同内容时才会出现问题。

【讨论】:

以上是关于循环时附加到文件安全吗?的主要内容,如果未能解决你的问题,请参考以下文章

线程安全文件读写:使用文件名/锁字典,还是只捕获 IOExceptions?

accept() 线程安全吗?

类型安全配置:从打包的 scala 应用程序的外部路径加载附加配置

使用属性文件是一个安全的选择吗?

我可以安全地 gitignore “._” 前缀文件吗

调试 IIS 时关闭 Visual Studio 附加安全警告