尝试读取名称可能会更改的pdf文件,但是我有一个包含文件名的初步脚本。因此,我成功地将该文件名保存到一个变量中,但是当我尝试使用该变量打开文件时,出现错误:“ ValueError:Embedded null byte”
例如,我尝试了几种解决方案,例如尝试使用此solution,但是却收到了相同的错误。我已经确定了使用glob的方法,因为我可以预测文件名(我知道总会有一个PDF),但是如果可能的话,我想尽量避免使用此解决方案,以防将来我们要处理多个PDF。
这就是我所拥有的:
pdfFileName = pdfFileName[132:220] # File path is correct, I have confirmed
objectPDF = open(pdfFileName,'rb')
pdfReader = PyPDF2.PdfFileReader(objectPDF)
pageObj = pdfReader.getPage(0)
print(pageObj.extractText())
我的错误是:
Traceback (most recent call last):
File "verify.py", line 48, in <module>
objectPDF = open(pdfFileName,'rb')
ValueError: embedded null byte
我想要的是将pdf文本输出到控制台。错误是我读取文件的方式,如果我硬键入其中的文件路径可以按预期工作,但是当使用与字符串完全相同的值的变量时,该错误就不会出现。
答案 0 :(得分:1)
将其放置在pdfFileName = pdfFileName.replace('\0','')
之前:objectPDF = open(pdfFileName,'rb')
该代码的作用是从字符串中删除所有“ null”,从而使所有内容都能正常运行。