如何检查/更改一般文件的状态为正在读取?
Posted
技术标签:
【中文标题】如何检查/更改一般文件的状态为正在读取?【英文标题】:How to check/change a general file's status as being read? 【发布时间】:2022-01-02 14:32:55 【问题描述】:有一个文件夹,其中包含许多文件。我的应用程序的用户将同时在此文件夹中工作。此应用程序使用Path.rglob()
循环遍历文件夹中的文件。我想开发一种机制,当用户正在处理/打开文件时,其他用户会自动跳过该文件。
我的问题如下:
-
我可以检查正在读取/打开的文件的状态吗?
是否有一种方案能够普遍解决这个问题?例如,使用外部锁定文件来指示文件是否正在被读取。
【问题讨论】:
【参考方案1】:你可以使用一些基于:
import psutil
for proc in psutil.process_iter():
print(proc.open_files())
生成所有打开文件的列表。 然后,您可以使用生成的列表在运行时决定是否打开文件。
【讨论】:
这将显示我电脑上所有打开的文件。有没有更优雅的方法呢? 我知道,不幸的是我不知道操作系统级别(即作为内核一部分的操作系统模型)的不同方法以上是关于如何检查/更改一般文件的状态为正在读取?的主要内容,如果未能解决你的问题,请参考以下文章
Linux下程序启动之后的初始化---检查配置文件及读取日志配置项的值