如何通过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插入排序算法的实现代码
Nov 21 Python
python文件与目录操作实例详解
Feb 22 Python
Python读csv文件去掉一列后再写入新的文件实例
Dec 28 Python
Python反转序列的方法实例分析
Mar 21 Python
详解Django中间件执行顺序
Jul 16 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
在python3中实现更新界面
Feb 21 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
Python基于xlutils修改表格内容过程解析
Jul 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 中include()与require()的对比
2006/10/09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
Javascript实现字数统计
2015/07/03 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
多版本Python共存的配置方法
2017/05/22 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Sanic框架路由用法实例分析
2018/07/16 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
《赵州桥》教学反思
2014/02/17 职场文书
《社戏》教学反思
2014/04/15 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
绿色环保口号
2014/06/12 职场文书
护理目标管理责任书
2014/07/25 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书