如何通过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 遍历列表里面序号和值的方法(三种)
Feb 17 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
python中count函数简单的实例讲解
Feb 06 Python
django实现模型字段动态choice的操作
Apr 01 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
python 实现朴素贝叶斯算法的示例
Sep 30 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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 图像函数大举例(非原创)
2009/06/20 PHP
php && 逻辑与运算符使用说明
2010/03/04 PHP
smarty缓存用法分析
2014/12/16 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
java script编程起步(第三课)
2007/01/10 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
详解vue-cli3使用
2018/08/14 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
python使用chardet判断字符串编码的方法
2015/03/13 Python
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Python基础之文件读取的讲解
2019/02/16 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python range实例用法分享
2020/02/06 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
园艺师求职信
2014/03/10 职场文书
节约用水标语
2014/06/11 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
Mysql如何查看是否使用到索引
2022/12/24 MySQL