2013-02-27 21 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')