在Linux中,如果有并行进程使用w/w+模式写入同一文件。
从这两个进程中写入的数据是否有可能混淆。还是因为它总是只从一个进程中包含数据,因为W模式截断了现有的文件?
最佳答案
假设有进程A和进程B将写入相同的文件。(W/W+模式非A/A+附加模式)
如果B在A编辑文件后写入文件,A的编辑将消失。
如果A在B编辑文件后写入文件,B的编辑将消失。
如果B在A编辑文件后打开文件,则结果取决于您的程序。可能有错误,因为a所做的意外编辑或a的再次编辑可能会消失。但如果不在程序中模拟追加模式,则编辑不会堆叠。
反之亦然。
实际上最后一个作家会赢。
您必须知道异步处理w/w+模式不是一个好主意。但这种“混乱”情况只能发生在追加模式而不是写入模式。
How do you append to a file?
关于python - 使用w模式的python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41003288/