loading
open in
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import os
import re
import glob
import time
from os import listdir
from os.path import isfile
from os.path import join as joinpath

#Запрашиваем адрес рабочей папки, вводим его в переменную path
path = str(input('Где находятся исходные файлы? : \n'))

#Обрабатываем введенную ссылку для получения стандартного стиля с двумя слешами
regxp = '[\w-]+[\w:]'
result = re.findall(regxp, path) #Разбиваем введенный адрес на составляющие без обратного слеша
path = '\\\\'.join(result) #Добавляем двойной слеш после каждой папки (под формат Python)

file_for = str(input('В какую папку будем сохранять полученные результаты? :\n'))
regxp = '[\w-]+[\w:]'
file_for_result = re.findall(regxp, path)  # Разбиваем введенный адрес на составляющие без обратного слеша
file_for_result = '\\\\'.join(file_for_result)  # Добавляем двойной слеш после каждой папки (под формат Python)

mail_list = str(input('Как назовем файл для результатов? :\n'))
directory_for_base = file_for_result + mail_list
print('Сохраняем все в файл: ', mail_list)

delete_files = int(input('Обработанные файлы удаляем? 1 - да, 2 - нет: \n'))
if delete_files == 1: #Ветка с удалением обработанных файлов
    os.chdir(path)  # Переходим по указанному адресу
    print('Считаем количество файлов для обработки... \n')
    all_files = len([name for name in os.listdir('.') if os.path.isfile(name)])  # Считаем количество файлов
    print('Предстоит обработать файлов: ', all_files)
    time.sleep(2)
    for file in glob.glob('*.*'):
        print(file)
        print('Предстоит обработать файлов: ', all_files)
        with open(file, 'r', encoding='utf8') as f:
            pars = f.read()
            reg = '[\w.-][email protected][A-Za-z-]+\.[\w.]+'
            result = re.findall(reg, pars)
            print(result)
            result = str(result)
            result = result.split()
            print('В итоге получили: ', result)
            print(len(result))
            print('А теперь попробуем очистить: \n')
            finallist = []
            for i in result:
                mailadress = i.replace('[', '').replace(']', '').replace('"', '').replace(',', '').replace('\'', '')
                with open(directory_for_base, 'a', encoding='utf8') as f:
                    f.write(mailadress + '\n')
                    all_files = all_files - 1
        os.remove(file)
    clearlist = []
    with open(directory_for_base, 'r', encoding='utf8') as f:
        for line in f:
            mailadress = f.readline()
            clearlist.append(mailadress)
            print('Что получили из файла насыпью без чистки на дубли: ')
            print(clearlist)
            clearlist = list(set(clearlist))
            print('Что получили после чистки на дубли: ')
            print(clearlist)
        for i in clearlist:
            with open('ok_base.txt', 'a', encoding='utf8') as f:
                f.write(i)
    print('Все!')

elif delete_files == 2: #Ветка без удаления обработанных файлов
    os.chdir(path)  # Переходим по указанному адресу
    print('Считаем количество файлов для обработки... \n')
    all_files = len([name for name in os.listdir('.') if os.path.isfile(name)])  # Считаем количество файлов
    print('Предстоит обработать файлов: ', all_files)
    time.sleep(3)
    for file in glob.glob('*.*'):
        print(file)
        print('Предстоит обработать файлов: ', all_files)
        with open(file, 'r', encoding='utf8') as f:
            pars = f.read()
            reg = '[\w.-][email protected][A-Za-z-]+\.[\w.]+'
            result = re.findall(reg, pars)
            print(result)
            result = str(result)
            result = result.split()
            print('В итоге получили: ', result)
            print(len(result))
            print('А теперь попробуем очистить: \n')
            finallist = []
            for i in result:
                mailadress = i.replace('[', '').replace(']', '').replace('"', '').replace(',', '').replace('\'', '')
                with open(directory_for_base, 'a', encoding='utf8') as f:
                    f.write(mailadress + '\n')
        all_files = all_files - 1
    clearlist = []
    with open(directory_for_base, 'r', encoding='utf8') as f:
        for line in f:
            mailadress = f.readline()
            clearlist.append(mailadress)
            print('Что получили из файла насыпью без чистки на дубли: ')
            print(clearlist)
            clearlist = list(set(clearlist))
            print('Что получили после чистки на дубли: ')
            print(clearlist)
        for i in clearlist:
            with open('ok_base.txt', 'a', encoding='utf8') as f:
                f.write(i)
    print('Все!')