我有一个正在读取文件的进程(使用 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/