/
Greka14
/
exercise3
Обзор
Документация
Войти
/
Greka14
/
exercise3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
main.py
37 строк
2 KB
Greka14
first_commit
28 май 2026, 15:24
28 май 2026, 15:24
9a4552a
Код
Авторство
О чём код?
import os def merge_files_sorted_by_lines(input_files, output_file): """ Объединяет файлы в один, сортируя их по количеству строк. Каждый файл предваряется именем и количеством строк. """ # Список кортежей (имя_файла, количество_строк, содержимое) files_data = [] for file_name in input_files: with open(file_name, 'r', encoding='utf-8') as f: lines = f.readlines() # сохраняем строки (включая символы \n) line_count = len(lines) files_data.append((file_name, line_count, lines)) # Сортируем по количеству строк (по второму элементу кортежа) files_data.sort(key=lambda x: x[1]) # Записываем в выходной файл with open(output_file, 'w', encoding='utf-8') as out_f: for file_name, line_count, lines in files_data: out_f.write(f"{file_name}\n") out_f.write(f"{line_count}\n") out_f.writelines(lines) # Добавляем пустую строку между файлами? По примеру нет, но можно по желанию # out_f.write("\n") if __name__ == "__main__": # Укажите список файлов (можно получить через glob) files = ["1.txt", "2.txt", "3.txt"] # замените на свои имена output = "result.txt" merge_files_sorted_by_lines(files, output) print(f"Файлы объединены в {output}") merge_files_sorted_by_lines(["1.txt", "2.txt"], "result.txt")