使用包含文件名Python的变量打开文件

2024-06-07 11:12:10 发布

您现在位置:Python中文网/ 问答频道 /正文

试图读取一个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的文本输出到控制台。错误当然与我读取文件的方式有关,如果我硬键入文件路径,它会按预期工作,但当使用与字符串值完全相同的变量时则不会。你知道吗


Tags: 文件pdf文件名错误openbyte解决方案null
1条回答
网友
1楼 · 发布于 2024-06-07 11:12:10

把这个:pdfFileName = pdfFileName.replace('\0','')放在这个:objectPDF = open(pdfFileName,'rb')

该代码所做的是从字符串中删除所有的“nulls”,这使得一切都可以正常运行。你知道吗

相关问题 更多 >

    热门问题