2015-10-02 48 views
1

我有一個使用PyPDF2包在我的python中編寫的程序來抓取一批pdf文件。這些PDF的不是最大的形狀,爲了讓我的程序運行,我需要修改位於封裝庫中的文件pdf.py所推薦這個網站:如何修改模塊和軟件包,同時保持原始的完整?

https://cheonhyangzhang.wordpress.com/2015/03/31/python-pdffilereader-pdfreaderror-eof-marker-not-found/

是否有我可以在保持原始文件完好的情況下對文件實施此更改嗎?我已經嘗試創建一個PdfFileReader類的子類並修改上述鏈接中規定的'read'方法,但是,我發現這導致了一些我想避免的導入依賴項問題。

有沒有更簡單的方法來做到這一點?

回答

0

我建議將pdf.py文件複製到我們的腳本目錄中,並將其重命名爲mypdf.py。您可以隨意修改副本而不影響原件。您可以導入使用shutil.py類似

import mypdf 

我做了一些作爲默認的緩衝區大小是Windows用於傳輸大文件過小的封裝。

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 
相關問題