9

我收到一个错误:TypeError: Required argument 'source' (pos 1) not found 但我不知道这意味着什么:/。谁能让我走上正轨?我的代码是:

    def openFile(self,fileName):

    email_pattern = re.compile(r'\b[A-Z0-9._%+-]+@[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()

基本上,它会在目录中打开一个数字文件,读取它们,然后查找电子邮件地址并将它们写入数据库。

4

1 回答 1

11

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])
于 2011-06-26T11:34:46.487 回答