2011-06-26 21 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()には引数を渡す必要があります。 email_pattern.findall()はリストを返すので、何を作ることになりますが、最終的にリストのリストになること

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

注 - 。だからあなたのコードは、このする必要がありますすべての行に最大1つのemail_addressが含まれていると確信できる場合は、

with open(fileName) as lijstEmails: 
    self.FinalMailsArray.append([email_pattern.findall(line)[0] for line in lijstEmails]) 
関連する問題