Python 类型错误:缺少必要参数 'source' (位置 1)
我遇到了一个错误: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()
简单来说,它会打开一个文件夹里的多个文件,读取这些文件,然后寻找电子邮件地址,并把它们写入数据库。
1 个回答
11
email_pattern.findall()
这个函数需要你传入一个参数。所以你的代码应该是这样 -
with open(fileName) as lijstEmails:
self.FinalMailsArray.append([email_pattern.findall(line) for line in lijstEmails])
要注意的是,email_pattern.findall()
会返回一个列表,这样最后你得到的结果会是一个列表的列表。如果你确定每一行最多只包含一个电子邮件地址,那么你可以使用 -
with open(fileName) as lijstEmails:
self.FinalMailsArray.append([email_pattern.findall(line)[0] for line in lijstEmails])