如何通过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时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
Python生成器的使用方法和示例代码
Mar 04 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
python实现超级玛丽游戏
Mar 18 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
Python importlib模块重载使用方法详解
Oct 13 Python
python 提取html文本的方法
May 20 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获取当前文件的父目录方法汇总
2016/07/21 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
js 中{},[]中括号,大括号使用详解
2011/05/12 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
Vue利用canvas实现移动端手写板的方法
2018/05/03 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
在python中安装basemap的教程
2018/09/20 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
tensorflow常用函数API介绍
2020/04/19 Python
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
高职助产应届生自荐信
2013/09/24 职场文书
文员个人的求职信范文
2013/09/26 职场文书
20年同学聚会感言
2014/02/03 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python