如何通过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内置数据类型详解
Aug 18 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
Python如何为图片添加水印
Nov 25 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
Django学习教程之静态文件的调用详解
May 08 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
Python sublime安装及配置过程详解
Jun 29 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
div模拟选择框示例代码
2013/11/03 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python 查看文件的读写权限方法
2018/01/23 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python实现拼图小游戏
2020/02/22 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
办公室内勤工作职责
2013/12/11 职场文书
行政内勤岗位职责
2014/04/07 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
go开发alertmanger实现钉钉报警
2021/07/16 Golang
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL