python - Python 中的并发文件访问

标签 python windows file concurrency

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

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

最佳答案

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

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

总的来说,这似乎是一种比覆盖操作系统/文件系统锁定来创建重复文件对象更好的方法,这似乎是一种不太可能结束的事情。

您也可以简单地让写入进程在每次访问文件时打开/关闭文件,然后与读取进程相同,假设这对您的程序可行。

关于python - Python 中的并发文件访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20744160/

相关文章:

c# - 如何使用 C# 4.0 检测 Windows 8 操作系统?

python - 如何从 Python 中的请求模块中完全删除任何日志记录

python - 我们如何从所有子目录中读取所有json文件?

python - PySpark 评估

java - 当元素的顺序无关紧要时,如何在java中比较两个文件

c - fgetc 函数无法正常工作

c - 使用命令行打开文件

python - 生成二维数组的梯度图

python - 从 Python 脚本如何运行其他 Python 脚本?

windows - cygwin 中的 mkfs.ext2 不工作