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


Posted in Python onDecember 18, 2020

一、思路

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包来做的我发现失败了。

到此这篇关于如何通过python检查文件是否被占用的文章就介绍到这了,更多相关python文件占用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python跳出循环语句continue与break的区别
Aug 25 Python
通过mod_python配置运行在Apache上的Django框架
Jul 22 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
Aug 30 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
python实现每天自动签到领积分的示例代码
Aug 18 Python
如何完美的建立一个python项目
Oct 09 Python
python 模拟登录B站的示例代码
Dec 15 Python
python中的时区问题
Jan 14 Python
django中websocket的具体使用
Jan 22 Python
python 实现端口扫描工具
Dec 18 #Python
Python-split()函数实例用法讲解
Dec 18 #Python
Python+Opencv实现把图片、视频互转的示例
Dec 17 #Python
python 利用jieba.analyse进行 关键词提取
Dec 17 #Python
Python基础进阶之海量表情包多线程爬虫功能的实现
Dec 17 #Python
python 实现一个简单的线性回归案例
Dec 17 #Python
python BeautifulSoup库的安装与使用
Dec 17 #Python
You might like
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php获取错误信息的方法
2015/07/17 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
Javascript Objects详解
2014/09/04 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
python制作小说爬虫实录
2017/08/14 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
python添加菜单图文讲解
2019/06/04 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
英国电子专家:maplin
2019/09/04 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
布达拉宫导游词
2015/02/02 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
公司仓库管理制度
2015/08/04 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python
Java 死锁解决方案
2022/05/11 Java/Android