2011-12-08 22 views
0

當我正在訪問的網站數量Python腳本進行更改。我不認爲寫每個網站一整類是一個可行的選擇,所以我要尋找一種方法來減少代碼,並儘可能重複使用代碼,我可以和它儘可能有效地我可以寫。雖然網站共享相同或相似的發動機(如WordPress的),他們經常與像餅乾的名字輕微細節上有所不同,改變URL路徑(例如example.com/signin.php和example2.com/login.php),數據名稱和值POST請求等。是否有可能「步入」的方法需要

在大多數情況下,我可以使用變量,但有時我需要找到方法的中間繼續從檢索到的網址中的額外數據,這樣就意味着增加的需要出發之前處理的幾行代碼。我發現對我來說可能的解決方案在理論上可以使用超類。但我找不到任何有關如何實際「進入」一種方法進行更改的信息。爲了更好地說明我的觀點,看看這個例子

class Wordpress(object): 
    def login(self): 
     # Do some stuff here 


    def newentry(self): 
     # Code to check if I'm logged in code 
     # and do bunch of other stuff 
     # 
     # Retrieve a page that *** sometimes contain important information 
     # in which case must be processed to continue! *** 
     data = {'name' : title, 
       'message' : message, 
       'icon' : iconid} 
     # Post new entry here 

正如我在本例中已經評論以上在某些情況下,我需要做adjustement只是一個方法本身內,加的代碼片段,或變值字典中的變量或值等。如果可能,我該如何實現這一點?也許我對超類的理解是失敗的,他們並不是真正爲我所認爲的。

也許有我沒有想到的其他方式。隨意發表你自己的想法你將如何解決這個問題。我期待着您的回覆。謝謝。

回答

1

爲什麼不能從main方法調用一些process函數,進程可以做你想做的任何事情,甚至可以在派生類中覆蓋它,例如

class WordPress(object): 
    def newentry(self): 
     data = get_data() 
     data = process_data(data) 

     # do moe generi cthings 

    def process_data(self): 
     return data 
相關問題