Python检查文件是否处于占用状态

Posted Xavier Jiezou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python检查文件是否处于占用状态相关的知识,希望对你有一定的参考价值。

引言

如何用 Python 编写代码判断一个文件是否处于占用状态?

思路

  • 调用 win32 api 的 CreateFile 函数来获取文件句柄
  • 判断上一步获取的文件句柄是否有效
  • 若无效,则说明文件正被占用;反之,就没有占用

代码

import win32file


def is_file_using(file_name):
    try:
        vHandle = win32file.CreateFile(file_name, win32file.GENERIC_READ, 0, None, win32file.OPEN_EXISTING, win32file.FILE_ATTRIBUTE_NORMAL, None)
        return int(vHandle) == win32file.INVALID_HANDLE_VALUE
    except:
        return True
    finally:
        try:
            win32file.CloseHandle(vHandle)
        except:
            pass


if __name__ == '__main__':
    file_name = 'test.txt'
    f = open(file_name, 'w')
    print(is_file_using(file_name)) # True
    f.close()
    print(is_file_using(file_name)) # False

参考

https://blog.csdn.net/qq_39241986/article/details/112386635

以上是关于Python检查文件是否处于占用状态的主要内容,如果未能解决你的问题,请参考以下文章

如何检查对象是不是处于空状态?

如何查看打印机是不是处于联机状态

如何使用selenium检查链接是否处于活动状态

检查蓝牙是不是在 Android 上处于活动状态?

java 检查对象是否处于重播状态(EasyMock)

测试系统单元是否在bash脚本中处于活动状态