使用PyPDF2提取PDF文本时终端出现冗余空格提示的解决方法
问题描述
使用PyPDF2提取PDF文本功能正常,但终端反复出现Superfluous whitespace found in object header b'XX' b'0'这类提示,移除print(main_text)语句后仍存在,如何阻止这些提示?
我的代码
pdfFile = open(filePath, 'rb') pdfReader = ppdf.PdfFileReader(pdfFile) for pageIndex in range(pdfReader.numPages): page = pdfReader.pages[pageIndex] words = page.extract_text(0).split() for word in words: main_text.append(word) # print(main_text)
终端提示信息
Superfluous whitespace found in object header b'36' b'0' Superfluous whitespace found in object header b'47' b'0' Superfluous whitespace found in object header b'50' b'0' Superfluous whitespace found in object header b'53' b'0' Superfluous whitespace found in object header b'56' b'0'
解决方法
这些提示是PyPDF2输出的警告信息,不影响功能运行,以下几种方法可以屏蔽:
- 方法1:调整PyPDF2日志级别
在代码开头添加以下代码,将日志级别设为仅显示错误:
import logging logging.getLogger("PyPDF2").setLevel(logging.WARNING)
- 方法2:完全禁用PyPDF2日志
如果不需要任何PyPDF2相关日志输出,可定向到空处理:
import logging logging.getLogger("PyPDF2").addHandler(logging.NullHandler())
- 方法3:用warnings模块过滤警告
通过Python内置模块直接过滤该类警告:
import warnings warnings.filterwarnings("ignore", category=UserWarning, module="PyPDF2")
内容的提问来源于stack exchange,提问作者Seminet
相关产品推荐
相关产品推荐

