Python中的并发文件访问

时间:2013-12-23 13:01:34

标签: python windows file concurrency

我有一个Python脚本,每秒几次将内容附加到一个大文件中。我还需要第二个进程,它偶尔打开那个大文件,并从中读取。

我如何在Windows中执行此操作?在C ++中,我可以简单地用_SH_DENYNO打开一个文件,但Python中的等价物是什么?

1 个答案:

答案 0 :(得分:0)

您可以在'r + b'模式下打开文件。然后,您将拥有一个可由两个不同进程访问的文件对象。

这样做需要在进程之间进行一些通信(或仔细处理进程)以了解文件的当前状态。

总的来说,这似乎是一种更好的方法,然后超越OS /文件系统锁定来创建重复的文件对象,这似乎是一种不可能很好地结束的事情。

您也可以让每次访问时都让编写器进程打开/关闭文件,然后与阅读器进程相同,假设这对您的程序是可行的。