繁体   English   中英

为什么 pyPdf2.PdfFileReader() 需要文件 object 作为输入?

[英]Why does pyPdf2.PdfFileReader() require a file object as an input?

csv.reader()不需要文件 object, open()也不需要。 pyPdf2.PdfFileReader()是否需要文件 object 因为 PDF 格式的复杂性,还是有其他原因?

这只是库的编写方式的问题。 csv.reader允许任何返回字符串(包括文件)的迭代器。 open正在打开文件,因此它当然不会使用打开的文件(尽管它可以使用指向打开文件描述符的 integer)。 通常,最好单独处理文件,通常在with块中,以便正确关闭文件。

with open('input.pdf', 'rb') as f:
    # do something with the file

pypdf也可以采用 BytesIO stream 或文件路径。 我实际上建议在大多数情况下传递文件路径,因为 pypdf 然后会为您关闭文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM