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

2024-09-28 19:26:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个进程正在从一个文件中读取(使用file.read())和一个进程正在写入同一个文件(file.write())。问题是它不工作-我没有错误,但他们不能同时操作。我尝试使读写操作不阻塞,然后刷新流,如下所示:

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

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


Tags: 文件read进程os错误msgfilewrite
3条回答

是否有理由使用公共文件?使用sockets进行进程间通信可能要容易得多。

测试1.py

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

测试2.py

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

这对我很有用。

相关问题 更多 >