python - 如何尽快检查大型 Excel 文件是否受到保护?
问题描述
如何以最快的方式检查excel文件是否受密码保护(不尝试打开它并放置异常)?
更新:
from zipfile import *
from openpyxl import load_workbook
filename = 'Z:\\path_to_file\\qwerty.xlsm' # protected one
try:
wb = load_workbook(filename, data_only=True, read_only=True)
except (BadZipfile) as error:
print(is_zipfile(filename))
一个问题是我得到False
了输出,因此我无法摆脱异常并用is_zipfile()
条件替换它。
解决方案
使用 openpyxl 库的解决方案:
import openpyxl
wb = openpyxl.load_workbook(PATH_TO_FILE)
if wb.security.lockStructure == None:
# no password, act accordingly
...
else:
# password, act accordingly
...
推荐阅读
- firefox-headless - Firefox 的无头屏幕截图不起作用
- node.js - GraphQL 查询结果中未返回的扩展
- php - 如何在 php 中集成 Paytm 以接受付款
- c - 在使用 gdb 的 VS-Code 调试 C 中忽略断点
- uipickerview - DarkMode 中的选取器文本颜色
- java - 有没有办法以编程方式在 MIUI 10 上启用锁屏通知?
- odoo - 如何在 Odoo12 中跟踪 One2many 字段?
- elasticsearch - NEST 7.x 中的 AnalyzeAsync 替代品是什么?
- firebase - 来自 Firebase 的位置数据未加载到谷歌地图中
- javascript - 无法使用 Edge 中的 msLaunchUri 打开 Office 文档