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