2024-09-28 19:26:38 发布
网友
我有一个进程正在从一个文件中读取(使用file.read())和一个进程正在写入同一个文件(file.write())。问题是它不工作-我没有错误,但他们不能同时操作。我尝试使读写操作不阻塞,然后刷新流,如下所示:
file.read()
file.write()
fcntl.fcntl(file, fcntl.F_SETFL, os.O_NONBLOCK) file.write(msg) file.flush()
我完全误解了吗?如何从不同的进程中完成对一个文件的写入和读取?
看看这个读写锁类:
在这篇关于锁定和线程的文章中:
是否有理由使用公共文件?使用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)
这对我很有用。
看看这个读写锁类:
在这篇关于锁定和线程的文章中:
是否有理由使用公共文件?使用sockets进行进程间通信可能要容易得多。
测试1.py
测试2.py
这对我很有用。
相关问题 更多 >
编程相关推荐