description

code Python verified Бесплатная загрузка devices Кроссплатформенный

code Предпросмотр кода

Python
#!/usr/bin/env python3
"""
Email Extractor for Text Files
Extract emails from TXT, LOG, and other text files
"""
import re
import os

EMAIL_PATTERN = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'

def extract_from_file(filepath, encoding='utf-8'):
    """Extract emails from a single text file"""
    try:
        with open(filepath, 'r', encoding=encoding) as f:
            content = f.read()
        emails = set(re.findall(EMAIL_PATTERN, content))
        return list(emails)
    except UnicodeDecodeError:
        # Try alternative encoding
        return extract_from_file(filepath, 'latin-1')
    except Exception as e:
        print(f"Error reading {filepath}: {e}")
        return []

def extract_from_directory(directory, extensions=None):
    """Extract emails from all text files in directory"""
    if extensions is None:
        extensions = ['.txt', '.log', '.dat', '.text']

    all_emails = set()

    for root, dirs, files in os.walk(directory):
        for filename in files:
            if any(filename.lower().endswith(ext) for ext in extensions):
                filepath = os.path.join(root, filename)
                emails = extract_from_file(filepath)
                all_emails.update(emails)
                print(f"Found {len(emails)} emails in {filename}")

    return list(all_emails)

if __name__ == '__main__':
    import sys
    if len(sys.argv) > 1:
        emails = extract_from_file(sys.argv[1])
        for email in sorted(emails):
            print(email)

info Об инструменте

Экстрактор Email из текстовых файлов сканирует текстовые документы и извлекает все email-адреса с помощью регулярных выражений. Обрабатывает различные кодировки файлов и проверяет синтаксис email.

Ключевые особенности

  • Поддержка разных кодировок - Автоматически обрабатывает UTF-8, Latin-1 и другие кодировки
  • Сканирование директорий - Рекурсивная обработка папок целиком
  • Множество расширений - TXT, LOG, DAT и пользовательские расширения
  • Дедупликация - Автоматически удаляет дубликаты email
  • Отчёт о прогрессе - Показывает найденные email по файлам

Поддерживаемые типы файлов

  • .txt - Текстовые файлы
  • .log - Файлы логов
  • .dat - Файлы данных
  • Любой текстовый формат

Требования

  • Python 3.7+
  • Без внешних зависимостей

download Скачать скрипт

Нужна полная автоматизация?

Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией

rocket_launch Start Free Trial