如何通过python检查文件是否被占用

一、思路

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文件占用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python检测空间储存剩余大小和指定文件夹内存占用的实例

    1.检测指定路径下所有文件所占用内存 import os def check_memory(path, style='M'): i = 0 for dirpath, dirname, filename in os.walk(path): for ii in filename: i += os.path.getsize(os.path.join(dirpath,ii)) if style == 'M': memory = i / 1024. / 1024. print '%.2f MB' % me

  • Python用access判断文件是否被占用的实例方法

    有的小伙伴想知道用access()函数可以判断一个文件被占用吗?理论上来说是不行的,access()返回的是文件的读写属性.为了让小伙伴们信服,小编进行了简单的测试. >>> import os >>> fn = r'D:\temp\csdn\t.py' # 测试用的文件 >>> os.access(fn, os.F_OK) # 文件是否存在 True >>> os.access(fn, os.R_OK) # 文件是否可读 True

  • 使用Python判断一个文件是否被占用的方法教程

    今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为access()返回的是文件的读写属性.为了确认这一点,我简单测试了一下. >>> import os >>> fn = r'D:\temp\csdn\t.py' # 测试用的文件 >>> os.access(fn, os.F_OK) # 文件是否存在 True >>> os.access(fn, os.R_OK) # 文件是否可读 Tru

  • 如何通过python检查文件是否被占用

    一.思路 1.通过window的aip函数CreateFile()函数获得文件句柄 2.检测在获得句柄的时候是否报错"文件被占用无法打开" 3.如果没有报错返回文件句柄,说明文件没有被占用:如果报错说明文件被占用 二.需import import win32file和 from ctypes import windll 两个库 三.代码 #-*- coding: utf-8 -*- from ctypes import windll import time import win32fi

  • python 检查文件mime类型的方法

    magic 模块可以检查文件的mime类型,而不是从后缀名来判断,例如判断文件是不是视频或图片类型如下: #检查文件类型 mime_type = magic.from_file(full_path,mime=True) logger.info("上传的文件类型:"+str(mime_type)) if not mime_type.startswith('video') and not mime_type.startswith('image'): logger.error("非

  • Python判断文件和文件夹是否存在的方法

    一.python判断文件和文件夹是否存在.创建文件夹 复制代码 代码如下: >>> import os >>> os.path.exists('d:/assist') True >>> os.path.exists('d:/assist/getTeacherList.py') True >>> os.path.isfile('d:/assist') False >>> os.path.isfile('d:/assis

  • Python判断文件和文件夹是否存在的方法(最新推荐)

    目录 一.python判断文件和文件夹是否存在.创建文件夹 二.python判断文件是否存在 三.如何用Python判断文件是否存在 四.python判断文件夹是否存在 五.python检查文件是否存在,以及路径是否为文件 六.python判断文件和文件夹是否存在 七.os.path.lexist 八.python FTP判断文件夹是否存在 一.python判断文件和文件夹是否存在.创建文件夹 >>> import os >>> os.path.exists('d:/a

  • Python基于正则表达式实现检查文件内容的方法【文件检索】

    本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下: 这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言.平时工作中用Java ,觉得python在日常生活中比java用处要大,首先语法没那么复杂,特别是io的操作,java里要写一大坨没关的代码.还有就是不用编译,而且linux系统默认都会自带. 这次遇到的问题是工作当中想要迁移一个系统中的一个模块,这个时候需要评估模块里的代码有没有对其他代码强依赖,就是有没有imp

  • python检查指定文件是否存在的方法

    本文实例讲述了python检查指定文件是否存在的方法.分享给大家供大家参考.具体如下: import os def file_exists(file_name): if os.path.exists(file): return '%s is found' % file_name else: return '%s is missing' % file_name 希望本文所述对大家的Python程序设计有所帮助.

  • python检查目录文件权限并修改目录文件权限的操作

    我就废话不多说了,还是直接看代码吧! # -*- coding: utf-8 -*- # @author flynetcn import sys, os, pwd, stat, datetime; LOG_FILE = '/var/log/checkDirPermission.log'; nginxWritableDirs = [ '/var/log/nginx', '/usr/local/www/var', ]; otherReadableDirs = [ '/var/log/nginx',

随机推荐