2011-06-26 86 views
8

我得到一個錯誤:TypeError: Required argument 'source' (pos 1) not found 但我沒有得到什麼線索是什麼意思:/。任何人都可以讓我走上正軌嗎? 我的代碼是:Python TypeError:必需參數'source'(pos 1)找不到

def openFile(self,fileName): 

    email_pattern = re.compile(r'\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b', re.IGNORECASE) 

    with open(fileName) as lijstEmails: 
     self.FinalMailsArray.append([email_pattern.findall() for line in lijstEmails]) 
    self.writeToDB() 

基本上它會打開一個目錄多個文件,讀取它們,然後去尋找電子郵件地址,並將其寫入到數據庫。

回答

10

email_pattern.findall()需要傳遞一個參數。所以,你的代碼應該是這樣的 -

with open(fileName) as lijstEmails: 
    self.FinalMailsArray.append([email_pattern.findall(line) for line in lijstEmails]) 

注意email_pattern.findall()返回一個列表,所以你將作會在年底名單列表。如果您確定每行最多包含1個email_address,那麼您可以使用 -

with open(fileName) as lijstEmails: 
    self.FinalMailsArray.append([email_pattern.findall(line)[0] for line in lijstEmails]) 
相關問題