Python TypeError: требуемый аргумент 'source' (pos 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 ответов


email_pattern.findall() требует аргумента. Поэтому ваш код должен быть таким -

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

отметим, что email_pattern.findall() возвращает список, так что вы будете делать, будет список в конце. Если вы уверены, что каждая строка содержит не более 1 обработки, то вы можете использовать -

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