как перенести содержимое файла в другой файл

Petr

Member
Создать функцию, переносящую из файла1 в файл2 только номера телефонов. Номером телефона считается: Последовательность цифр и дефисов, причем цифр не больше 11

я создал 2 файла, в один написал текст и номера телефонов. Есть начало кода, но я не знаю как задать условие, чтобы оно отделяло текст от номера телефона. Помогите пожалуйста. Заранее спасибо
*текст расположен одной строкой, номера телефона на новой строчке каждый
def static ():
f=open (“fail1.txt”,“r”)
d=f.read ()
 

Kate

Administrator
Команда форума
попробуй так
Код:
import re
mass = []
files = open('num.txt', 'r')

for line_u in files.readlines():
pattern_u = re.compile(r'(\+7?.\(9\d{2}\)?.\d{3}-\d{2}-\d{2})')
result_u = pattern_u.search(line_u)

if result_u:
result = result_u.group(0)
mass.append(result)
mass = sorted(set(mass))
my_file = open("result.txt", 'w')


for i in mass:
my_file.write(i + "\n")
my_file.close()
где:
num.txt - входящий файл (поменяй на свой)
result.txt - результат

Пример
содерживое входящего файла
Цитата:
№ заказ пак шт пр. клиент телефон М. Опл. Тип уровня сервиса # интервал адрес комментарии дата интервал
1 RU161109-472905 PACK19697671 1 Ольга Каверзина +7 (918) 335-43-52 Наличные Плюс 0 09:00 - 13:00 Краснодар, красина, Дом 3/3, Кв. 76
2 RU161110-466130 PACK19651968 1 Софья назаретян +7 (918) 398-07-81 Наличные Плюс 0 09:00 - 13:00 Краснодар, Базовская, Дом д.61
3 RU161111-260536 PACK19698066 3 Виктор Кипуров +7 (918) 441-97-56 Наличные Плюс 0 09:00 - 13:00 Краснодар, Речная,Чехова , Дом 4, Кв. 52
4 RU161111-522664 PACK19697905 2 Ирина Концевик +7 (918) 045-77-01 Наличные Плюс 0 09:00 - 13:00 Краснодар, ул им Братьев Дроздовых, Дом 41, Кв. 19
5 RU161111-252357 PACK19697840 1 Ирина Концевик +7 (918) 045-77-00 Наличные Плюс 0 09:00 - 13:00 Краснодар, ул им Братьев Дроздовых, Дом 41, Кв. 19
6 RU161104-298585 PACK19514804 3 Роман +7 (938) 435-93-29 Наличные Плюс 0 09:00 - 13:00 Краснодар, фурманова, Дом 62 9.11

результат
Код:
+7 (918) 045-77-00
+7 (918) 045-77-01
+7 (918) 335-43-52
+7 (918) 398-07-81
+7 (918) 441-97-56
+7 (938) 435-93-29

если у тебя другая структура номера телефона, то поиграйся с регуляркой тут
 
Сверху