如何检查/更改一般文件的状态为正在读取?

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())

生成所有打开文件的列表。 然后,您可以使用生成的列表在运行时决定是否打开文件。

【讨论】:

这将显示我电脑上所有打开的文件。有没有更优雅的方法呢? 我知道,不幸的是我不知道操作系统级别(即作为内核一部分的操作系统模型)的不同方法

以上是关于如何检查/更改一般文件的状态为正在读取?的主要内容,如果未能解决你的问题,请参考以下文章

如何在电脑中将日志一般状态改成调试状态

如何在 Laravel 5 中登录时检查用户状态?

C#如何找出动态创建的不确定数量的复选框的任何检查状态更改

Linux下程序启动之后的初始化---检查配置文件及读取日志配置项的值

Spark Streaming:读取和写入状态信息到外部数据库,如 cassandra

React 和 Jest,如何测试更改状态并检查另一个组件