如何通过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 相关文章推荐
使用SAE部署Python运行环境的教程
May 05 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
Python各种扩展名区别点整理
Feb 27 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
python开发入门——set的使用
Sep 03 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
基于文本的搜索
2006/10/09 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
ucenter通信原理分析
2015/01/09 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
Python 爬虫图片简单实现
2017/06/01 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
软件测试面试题
2014/01/05 面试题
临床医学应届生求职信
2013/11/06 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
科技节口号
2014/06/19 职场文书
党员志愿者活动总结
2014/06/26 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
寒假生活随笔
2015/08/15 职场文书
如何写好竞聘报告
2019/04/03 职场文书