目標=打開文件,加密文件,寫入加密文件。
嘗試使用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