Python: 判断某个Excel文件是否已打开

文章背景: 在操作某个Excel文件时,有时想看看某个Excel文件是否已打开。下面提供两种自定义函数。
运行环境:Win10
编程语言:python3.7
(1)遍历法
import win32com.client
def fileisopen1(filepath):
# 判断Excel文件是否已打开
# 如果目标工作簿已打开则返回TRUE,否则返回FALSE
excelapp = win32com.client.Dispatch("Excel.Application")
flag = False
num = excelapp.Workbooks.Count
if num > 0:
for i in range(1,num+1):
realpth = excelapp.Workbooks(i).Path + "\\" + excelapp.Workbooks(i).Name
if filepath == realpth:
flag = True
break
return flag
导入win32com.client之前,需要提前安装pywin32第三方模块。可以通过
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32
进行安装。
如果已打开的Excel文件较多,则遍历法比较费时间,下面介绍试错法。
(2)试错法
import xlwings as xw
def fileisopen2(filepath):
# 判断Excel文件是否已打开
# 如果目标工作簿已打开则返回TRUE,否则返回FALSE
flag = True
if filepath == "":
flag = False