2013-02-27 56 views
1

我正在使用PyPDF2做一個簡單的PDF合併。我在XP/Python 3.2上編寫了代碼,它工作正常。當我把它搬到Win7-64bit/Python的3.3和使用了最新的PyPDF2分佈(https://github.com/knowah/PyPDF2/)附加一個PDF的合併對象時,它拋出以下錯誤:PyPDF2在合併時拋出錯誤(Python3.3/Win7)

Traceback (most recent call last): 
    File "C:\PDFs\pdfmerge2.py", line 103, in <module> 
    count=merge_and_check(l_batch_files) 
    File "C:\PDFs\pdfmerge2.py", line 47, in merge_and_check 
    merger.append(pf) 
    File "C:\Python33\lib\site-packages\PyPDF2\merger.py", line 168, in append 
    self.merge(len(self.pages), fileobj, bookmark, pages, import_bookmarks) 
    File "C:\Python33\lib\site-packages\PyPDF2\merger.py", line 97, in merge 
    elif type(fileobj) == file: 
NameError: global name 'file' is not defined 

我試着使用Python 3.2全新安裝並得到相同的錯誤。

奇怪的是,我的XP安裝和Win7的merger.py是非常不同的,但我找不到對PyPDF2的早期版本的引用,我不記得我從哪裏下載了該版本,儘管我知道這是在2012年12月18日。從那時起,我無法看到PyPDF2的更新。

在Win7上的安裝使用標準的「python setup.py build」,然後「安裝」。

任何想法?

+0

,如果你把它放在PyPDF的bug跟蹤系統,這可能是有用的。 PyPDF的程序員可能想知道這一點。 – User 2013-02-27 11:04:12

+0

謝謝 - 我不想認爲這是一個缺陷,但我會讓他們知道。 – BasilFawlty 2013-02-28 11:51:17

+0

我也有這個錯誤。你有沒有找到解決方案? – PascalVKooten 2013-03-30 20:46:17

回答

-1

嘗試進口IO模塊,然後創建方法FileIO專注()

實例數據流:

import io 
. 
. 
. 
. 
outputStream = io.FileIO('c:\example.pdf', 'wb')