如何通过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 中使用 GLOBAL引发的一系列问题
Oct 12 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
Python-OpenCV基本操作方法详解
Apr 02 Python
Python操作json的方法实例分析
Dec 06 Python
Django中信号signals的简单使用方法
Jul 04 Python
python时间日期操作方法实例小结
Feb 06 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
Django设置Postgresql的操作
May 14 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
PHP异常处理Exception类
2015/12/11 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
Javascript - HTML的request类
2007/01/09 Javascript
封装的原生javascript弹出层代码
2010/09/24 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
Nodejs模块载入运行原理
2018/02/23 NodeJs
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Python实现的中国剩余定理算法示例
2017/08/05 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
python之语音识别speech模块
2020/09/09 Python
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
校园之声广播稿
2014/01/31 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL