/
flike
/
reed_file
Обзор
Документация
Войти
/
flike
/
reed_file
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
task_3.py
32 строки
2 KB
Anton Kormiltsev
all_task
17 фев 2025, 13:13
17 фев 2025, 13:13
ba81924
Код
Авторство
О чём код?
""" Необходимо объединить файлы в один по следующим правилам: Содержимое исходных файлов в результирующем файле должно быть отсортировано по количеству строк в них (то есть первым нужно записать файл с наименьшим количеством строк, а последним - с наибольшим) Содержимое файла должно предваряться служебной информацией на 2-х строках: имя файла и количество строк в нем """ def line_count(filename): # Подсчет with open(filename, mode='r', encoding='utf-8') as f: return sum(1 for i in f) def sort_file(file1, file2, file3): # Сортировка data = {} files = [file1, file2, file3] for i in files: data[i] = line_count(i) sorted_file = sorted(data.items(), key=lambda item: item[1]) return sorted_file def write_file(file1, file2, file3): # Запись for i in sort_file(file1, file2, file3): with open('test_file.txt', mode='a', encoding='utf-8') as f: f.write(str(list(i)[0])) f.write('\n') f.write(str(list(i)[1])) f.write('\n') with open(str(list(i)[0]), mode='r', encoding='utf-8') as y: t = y.read() f.write(t) f.write('\n') print(write_file('1.txt', '2.txt','3.txt'))