PyPDF2合并时抛出错误(Python3.3/Win7)
我正在使用PyPDF2来简单地合并PDF文件。我在XP系统和Python 3.2上写的代码运行得很好。但是当我把它移到Win7 64位和Python 3.3上,并使用最新的PyPDF2版本(https://github.com/knowah/PyPDF2/)时,在将一个PDF添加到合并对象时出现了以下错误:
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'然后'install'进行的。
有什么想法吗?
1 个回答
-1
试着导入io模块,然后用FileIO()方法创建一个流。
例如:
import io
.
.
.
.
outputStream = io.FileIO('c:\example.pdf', 'wb')