PyPDF2中废弃属性isEncrypted如何替换为is_encrypted
废弃提示的含义
你看到的是PyPDF2官方给出的API迭代提醒:
isEncrypted是PyPDF2早期版本使用的驼峰式命名属性,目前已经被标记为废弃状态,不会再做功能维护,在后续发布的新版本中这个属性会被彻底删除,继续使用在升级依赖后会触发属性不存在的运行错误。- 官方推荐替换的
is_encrypted是和旧属性功能完全一致的新命名,符合Python通用的PEP8蛇形命名规范,用来判断当前加载的PDF文件是否为加密状态,调用返回值和旧属性没有任何区别。
代码调整方法
你只需要把代码中调用旧属性的位置替换为新属性名即可,调整后的代码如下:
def encryption_test(input_file: str) -> bool: with open(input_file, 'rb') as pdf_file: pdf_reader = PdfFileReader(pdf_file, strict=False) return pdf_reader.is_encrypted
补充说明:如果你后续将PyPDF2升级到3.0.0及以上的正式版本,PdfFileReader类也已经被重命名为PdfReader,如果遇到类找不到的报错,同步替换类名即可,参数和使用逻辑完全兼容。
内容的提问来源于stack exchange,提问作者D. Joe
相关产品推荐
相关产品推荐

