如何通过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 ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
Python画图学习入门教程
Jul 01 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
python实现五子棋小游戏
Mar 25 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
pycharm 批量修改变量名称的方法
Aug 01 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
MySQL连接数超过限制的解决方法
2011/07/17 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
Python六大开源框架对比
2015/10/19 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
保安自我鉴定范文
2013/12/08 职场文书
文明教师事迹材料
2014/01/16 职场文书
运动会入场解说词300字
2014/01/25 职场文书
班主任个人工作反思
2014/04/28 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP