如何通过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之关于循环的小伎俩
Oct 02 Python
Python的gevent框架的入门教程
Apr 29 Python
python使用opencv进行人脸识别
Apr 07 Python
如何用itertools解决无序排列组合的问题
May 18 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
python找出因数与质因数的方法
Jul 25 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
python 常见的排序算法实现汇总
Aug 21 Python
python中使用asyncio实现异步IO实例分析
Feb 26 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将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
php中动态修改ini配置
2014/10/14 PHP
php中socket通信机制实例详解
2015/01/03 PHP
一个简单的php路由类
2016/05/29 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
快速入门Vue
2016/12/19 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
跟老齐学Python之开始真正编程
2014/09/12 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
北京振戎融通Java面试题
2015/09/03 面试题
求职者简历中的自我评价
2013/10/20 职场文书
市场营销专业推荐信
2013/11/03 职场文书
房产买卖委托公证书
2014/04/04 职场文书
学生自我评语大全
2014/04/18 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
勇敢的心观后感
2015/06/09 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
python3操作redis实现List列表实例
2021/08/04 Python
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技