python - 两个进程读取/写入同一个文件 Python

标签 python file-io process

我有一个正在读取文件的进程(使用 file.read())和一个正在写入同一文件的进程(file.write()) .问题是它不起作用 - 我没有收到任何错误,但它们不能同时运行。我试过让读写操作不阻塞,然后刷新流,如下:

fcntl.fcntl(file, fcntl.F_SETFL, os.O_NONBLOCK)
file.write(msg)
file.flush()

我完全误解了吗?不同进程如何完成对一个文件的读写?

最佳答案

test1.py

import os
f = open('txt.txt', 'a', os.O_NONBLOCK)
while 1:
        f.write('asd')
        f.flush()

test2.py

import os
f = open('txt.txt', 'r', os.O_NONBLOCK)
while 1:
    print f.read(3)

这对我来说很好。

关于python - 两个进程读取/写入同一个文件 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3211292/

相关文章:

python - 加入列表中的每四个字符串

python - 在 Odoo 中获取当前加载的语言翻译

java - 使用 Java 文件/IO API 复制目录同时保留符号链接(symbolic link)

c# - 从 Windows 服务调用时,Process.Start 不起作用

linux - 我可以检测到从长时间运行的后台进程中提前退出吗?

python - 如何通过 describe() 函数在 Python 中打印整个数字?

python - 移动字典值并交换它们,但不是随机的

c# - 读取文件的特定字节

javascript - 完全放弃服务器端脚本写入文件?

linux - 如何使用正在运行的程序的 PID 获取实际的程序名称?