通過python 檢查檔案是否被占用

2021-10-02 15:00:46 字數 873 閱讀 8615

一、思路

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包來做的我發現失敗了。

c 檢查檔案是否被開啟

using system.io using system.runtime.interopservices 首先引用api 函式 dllimport kernel32.dll private static extern intptr lopen string lppathname,int ireadw...

Python 如何檢查檔案是否存在

在python中,我們可以使用os.path.isfile 或pathlib.path.is file python 3.4 來檢查檔案是否存在。python 3.4的新功能 from pathlib import path fname path c test abc.txt print fname...

檢查Linux系統是否被入侵

今天看到乙個有意思的攻擊方式,系統被人入侵,當這個入侵程式執行的時候會產生乙個程序pid,一般這個程序不是在 proc中產生的,所以可以用指令碼匹配系統有沒有被入侵。嘗試一下指令碼,學習shell中。我用ps aux可以檢視到程序的pid,而每個pid都會在 proc中產生。如果檢視到的pid在 p...