目标=打开文件,加密文件,写入加密文件。
尝试使用PyPDF2模块来完成此操作。我已经验证过“输入”是一个文件类型的对象。我研究了这个错误,它转化为“找不到文件”。我相信它以某种方式与文件/文件路径链接,但我不确定如何调试或排除故障。并得到以下错误:PyPDF2 IOError:[Errno 22] PyPdfFileReader上的无效参数Python 2.7
Traceback (most recent call last):
File "CommissionSecurity.py", line 52, in <module>
inputStream = PyPDF2.PdfFileReader(input)
File "build\bdist.win-amd64\egg\PyPDF2\pdf.py", line 1065, in __init__
File "build\bdist.win-amd64\egg\PyPDF2\pdf.py", line 1660, in read
IOError: [Errno 22] Invalid argument
下面是相关的代码。我不知道如何解决这个问题,因为我不确定问题是什么。任何指导表示赞赏。
for ID in FileDict:
if ID in EmailDict :
path = "C:\\Apps\\CorVu\\DATA\\Reports\\AlliD\\Monthly Commission Reports\\Output\\pdcom1\\"
#print os.listdir(path)
file = os.path.join(path + FileDict[ID])
with open(file, 'rb') as input:
print type(input)
inputStream = PyPDF2.PdfFileReader(input)
output = PyPDF2.PdfFileWriter()
output = inputStream.encrypt(EmailDict[ID][1])
with open(file, 'wb') as outputStream:
output.write(outputStream)
else : continue
@Evert我根据您的建议重构,证实PdfFileWriter正确使用,并纠正了inputStream问题。我还验证了“文件”是一个文件类型对象。我继续得到相同的错误。 – AlliDeacon