如何通过python检查文件是否被占用
作者:storm_spirit 发布时间:2023-03-20 12:25:00
标签:python,文件占用
一、思路
1、通过window的aip函数CreateFile()函数获得文件句柄
2、检测在获得句柄的时候是否报错“文件被占用无法打开”
3、如果没有报错返回文件句柄,说明文件没有被占用;如果报错说明文件被占用
二、需import
import win32file
和 from 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包来做的我发现失败了。
来源:https://blog.csdn.net/storm_spirit/article/details/104204072


猜你喜欢
- 0.摘要在Python中,尤其是数组当中,对于一些异常值往往需要进行特殊处理。为了防止异常值与正常数据混淆,影响最终计算结果,常用的方法是将
- Strconvstrconv包实现了基本数据类型和其字符串表示的相互转换。更多函数请查看官方文档中文文档string与int类型转换Atoi
- python读取txt文件#方式一:file = r'D:\test.txt'with open(file, 'rb
- numpy.mean计算矩阵均值计算矩阵的均值>>> a = np.array([[1, 2], [3, 4]])>
- 概述日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。
- 我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。为了帮助大家更
- 闭包函数是什么?在开始学习的闭包的时候,大家很能都比较难理解.就从他的官方解释来说,都是比较概念化的.不过我们也还是从闭包的含义出发。闭包是
- Python IDLE Subprocess Connection Error的解决方法今天准备运行一个Python 文件时,IDLE突然报
- 前言:Python基础知识+结构+数据类型Python基础学习列表+元组+字典+集合今天的是Python基础学习的第三篇了,前面的知识点给大
- 本文实例讲述了Python Matplotlib库安装与基本作图。分享给大家供大家参考,具体如下:不论是数据挖掘还是数据建模,都免不了数据可
- python合并文本文件示例代码。python实现两个文本合并employee文件中记录了工号和姓名cat employee.txt:100
- 关于 Settings Sync扩展:Settings Sync可以同步你当前的VSCode配置环境,当你需要在其它的电脑工作时,您不用重头
- 基本介绍图像的全景拼接,即“缝合”两张具有重叠区域的图来创建一张全景图。其中用到了计算机视觉和图像处理技术有:关键点检测、局部不变特征、关键
- 测试环境win10python 3.5yield功能简介简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yie
- 在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使
- 开篇这段时间把主要精力都放在了K8S上,差点把Golang给忘了。那本篇就分享一下并发相关的内容(Goroutine和通道)。 本篇给出4个
- 通常来说,Python的变量/数据类型非常多,但是它是不需要用户指定的,因为有些是根据部份系统函数生成,另外一些是自动根据变量的值识别的,这
- Python是一门清晰简洁的语言,如果你对一些细节不了解的话,就会掉入到那些深不见底的“坑”里,下面,我就来总结一些Python里常见的坑。
- 效果图游戏可以通过这个链接进入关于JS构建过程首先,我创建了一个对象,其中包含每种可能性的文本格式(石头、纸、剪刀),然后将图像源也添加到该
- Go微服务网关从核心原理理解网关的本质网关具备的基本功能:支持多种协议代理:tcp/http/ websocket/grpc支持多种负载均衡