我有一个用我的python编写的程序,使用PyPDF2包来刮取一批pdf文件。这些PDF格式不是最好的,所以为了运行我的程序,我需要按照本网站的建议修改软件包库中的pdf.py文件:
我是否可以在保持原始文件完整的同时对文件实施此更改?我尝试创建一个PdfFileReader类的子类,并修改了' read'但是,我发现这导致了一些我想避免的导入依赖性问题。
有更简单的方法吗?
答案 0 :(得分:0)
我建议将pdf.py
文件复制到我们的脚本目录中,并将其重命名为mypdf.py
。然后,您可以根据需要修改副本,而不会影响原件。您可以使用
import mypdf
我为shutil.py
做了类似的事情,因为Windows中的默认缓冲区大小太小,无法传输大文件。
答案 1 :(得分:0)
您可以使用setattr()
这样添加(或重新定义)类的方法(其中类已被内联定义,而不是仅为了说明而导入):
class Class(object):
pass
def func(self, some_other_argument):
return some_other_argument
setattr(Class, 'func', func)
if __name__ == '__main__':
c = Class()
print(c.func(42)) # -> 42