如何通过python检查文件是否被占用

作者:storm_spirit 时间:2023-03-20 12:25:00 

一、思路

1、通过window的aip函数CreateFile()函数获得文件句柄

2、检测在获得句柄的时候是否报错“文件被占用无法打开”

3、如果没有报错返回文件句柄,说明文件没有被占用;如果报错说明文件被占用

二、需import

import win32filefrom ctypes import windll 两个库

三、代码


#-*- coding: utf-8 -*-
from ctypes import windll
import time
import win32file
from win32file import *

def is_open(filename):

try:
   #首先获得句柄
   vHandle =win32file.CreateFile(filename, GENERIC_READ, 0, None, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, None)
   #判断句柄是否等于INVALID_HANDLE_VALUE
   if int(vHandle)==INVALID_HANDLE_VALUE:
     print("# file is already open")
     return True # file is already open
   win32file.CloseHandle(vHandle)

except Exception as e:
   print(e)
   return True

该代码说白了就是将C++的写法按python写法来写的,网上的其他写法通过os包来做的我发现失败了。

来源:https://blog.csdn.net/storm_spirit/article/details/104204072

标签:python,文件占用
0
投稿

猜你喜欢

  • 忆童年!用Python实现愤怒的小鸟游戏

    2023-06-03 11:01:12
  • 一篇文章弄懂Python中的内建函数

    2023-01-18 00:36:36
  • 如何设置SQL Server数据库全文索引服务

    2009-01-13 13:46:00
  • XML to DDL的项目关键:与数据库同步

    2008-05-29 14:19:00
  • python中偏函数partial用法实例分析

    2021-03-24 21:35:23
  • MSSQL2000安全设置图文教程

    2024-01-13 22:16:35
  • javascript实现花样轮播效果

    2024-05-25 15:19:20
  • python函数局部变量用法实例分析

    2023-08-24 17:50:25
  • SQL按照日、周、月、年统计数据的方法分享

    2024-01-24 13:48:27
  • XmlUtils JS操作XML工具类

    2024-02-24 14:10:45
  • Python中的四种交换数值的方法解析

    2021-07-01 12:42:02
  • 一文带你了解MySQL四大类日志

    2024-01-25 12:53:13
  • python交互式图形编程实例(三)

    2021-10-10 17:34:39
  • js保留两位小数方法总结

    2023-07-18 17:34:35
  • 详解Python中string模块除去Str还剩下什么

    2021-08-25 12:48:19
  • Golang导入包的几种方式(点,别名与下划线)

    2023-09-17 23:09:42
  • pytorch实现focal loss的两种方式小结

    2023-07-02 14:43:22
  • MySql忘记密码修改方式适应5.7以上版本

    2024-01-28 08:58:43
  • SQL Server里书签查找的性能伤害

    2024-01-13 08:19:05
  • SQL Server元数据的管理与应用

    2009-03-16 14:24:00
  • asp之家 网络编程 m.aspxhome.com