TypeError: int() 收到意外关键字参数 'base',在 ironpython 的 pyPdf-1.15 中出错

1 投票
1 回答
865 浏览
提问于 2025-04-17 22:39

我成功安装了pyPDF2,输入的代码是pyPdf-1.15,在终端打开后输入这些代码

import os
from PyPDF2 import PdfFileReader
path = "F:/Download"
inputFileName = os.path.join(path, "RealPython.pdf")
inputFile = PdfFileReader(open(inputFileName, "rb"))

然后出现了这个

Traceback (most recent call last):
  File "<string>", line 1, in <module>

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\pdf.py", line 797, in __init__
    self.read(stream)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\pdf.py", line 1352, in read
    xrefstream = readObject(stream, self)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 71, in readObject
    return DictionaryObject.readFromStream(stream, pdf)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 587, in readFromStream
    value = readObject(stream, pdf)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 62, in readObject
    return ArrayObject.readFromStream(stream, pdf)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 158, in readFromStream
    arr.append(readObject(stream, pdf))

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 73, in readObject
    return readHexStringFromStream(stream)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py", line 302, in readHexStringFromStream
    txt += chr(int(x, base=16))


TypeError: int() got an unexpected keyword argument 'base'

我不知道我哪里做错了,有人能帮帮我吗?

1 个回答

0

错误信息:int() 收到了一个意外的关键字参数 'base'。这很可能和 IronPython 中 int 函数的实现有关。你可以尝试编辑 PyPDF2 包中的这个文件:C:\Program Files (x86)\IronPython 2.7\lib\site-packages\PyPDF2\generic.py(在第 302 行,函数名是 readHexStringFromStream)。把 16 作为第二个位置参数传给 int 函数:

#txt += chr(int(x, base=16))
txt += chr(int(x, 16))

撰写回答