如何知道 openpyxl 是否使用 defusedxml?

moj*_*ken 4 python openpyxl

我正在使用 openpyxl 读取 xlsx 文件,并注意到建议使用 defusedxml 来防范某些安全攻击。我的理解是,openpyxl 会在发现 defusedxml 安装在当前环境中的任何时候使用它,但我想要一种更积极的方法来检查在打开工作簿之前是否正在使用 defusedxml,这样我就可以尽早失败,以防我的某些用户代码尚未安装该软件包(或者可能安装了某些不兼容的版本,不确定现在是否可行,但将来可能会如此?)。

有没有一种方法可以以编程方式询问 openpyxl 来询问它是否已检测到 defusedxml 并计划在我打开的下一个电子表格上调用它?

Ser*_*nov 5

根据此提交,您可以使用以下代码:

from openpyxl import DEFUSEDXML
if DEFUSEDXML is True:
    ...
Run Code Online (Sandbox Code Playgroud)