我有一個使用PyPDF2包在我的python中編寫的程序來抓取一批pdf文件。這些PDF的不是最大的形狀,爲了讓我的程序運行,我需要修改位於封裝庫中的文件pdf.py所推薦這個網站:如何修改模塊和軟件包,同時保持原始的完整?
是否有我可以在保持原始文件完好的情況下對文件實施此更改嗎?我已經嘗試創建一個PdfFileReader類的子類並修改上述鏈接中規定的'read'方法,但是,我發現這導致了一些我想避免的導入依賴項問題。
有沒有更簡單的方法來做到這一點?
我有一個使用PyPDF2包在我的python中編寫的程序來抓取一批pdf文件。這些PDF的不是最大的形狀,爲了讓我的程序運行,我需要修改位於封裝庫中的文件pdf.py所推薦這個網站:如何修改模塊和軟件包,同時保持原始的完整?
是否有我可以在保持原始文件完好的情況下對文件實施此更改嗎?我已經嘗試創建一個PdfFileReader類的子類並修改上述鏈接中規定的'read'方法,但是,我發現這導致了一些我想避免的導入依賴項問題。
有沒有更簡單的方法來做到這一點?
我建議將pdf.py
文件複製到我們的腳本目錄中,並將其重命名爲mypdf.py
。您可以隨意修改副本而不影響原件。您可以導入使用shutil.py
類似
import mypdf
我做了一些作爲默認的緩衝區大小是Windows用於傳輸大文件過小的封裝。
可以添加(或重新定義)使用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