如何通過python檢查文件是否被占用
一、思路
1、通過window的aip函數(shù)CreateFile()函數(shù)獲得文件句柄
2、檢測在獲得句柄的時(shí)候是否報(bào)錯(cuò)“文件被占用無法打開”
3、如果沒有報(bào)錯(cuò)返回文件句柄,說明文件沒有被占用;如果報(bào)錯(cuò)說明文件被占用
二、需import
import win32file和 from ctypes import windll 兩個(gè)庫
三、代碼
#-*- 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寫法來寫的,網(wǎng)上的其他寫法通過os包來做的我發(fā)現(xiàn)失敗了。
到此這篇關(guān)于如何通過python檢查文件是否被占用的文章就介紹到這了,更多相關(guān)python文件占用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python和TFIDF實(shí)現(xiàn)提取文本中的關(guān)鍵詞
TFIDF 的工作原理是按比例增加一個(gè)詞語在文檔中出現(xiàn)的次數(shù),但會被它所在的文檔數(shù)量抵消。本文將利用TFIDF實(shí)現(xiàn)提取文本中的關(guān)鍵詞,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2022-04-04
python使用response.read()接收json數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇python使用response.read()接收json數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
numpy數(shù)組之讀寫文件的實(shí)現(xiàn)
本文主要介紹了numpy數(shù)組之讀寫文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
使用Python連接SQLite數(shù)據(jù)庫的操作步驟
SQLite是一種輕量級的嵌入式數(shù)據(jù)庫,廣泛應(yīng)用于各種應(yīng)用程序中,Python提供了內(nèi)置的sqlite3模塊,使得連接和操作SQLite數(shù)據(jù)庫變得非常簡單,本文給大家介紹了使用Python連接SQLite數(shù)據(jù)庫的操作步驟,需要的朋友可以參考下2024-12-12

