/
sltrs1
/
python_files_1
Обзор
Документация
Войти
/
sltrs1
/
python_files_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
main3.py
43 строки
2 KB
Sergei Uzhva
Add solution for task 3
19 ноя 2025, 20:19
19 ноя 2025, 20:19
4818288
Код
Авторство
О чём код?
def merge_files(file_list, output_file): """ Объединяет несколько текстовых файлов в один, отсортировав их по количеству строк. Перед содержимым каждого добавляемого файла в результирующий файл записываются две служебные строки: 1. Имя файла 2. Количество строк в этом файле После этого записывается оригинальное содержимое файла. Args: file_list (list[str]): Список путей к текстовым файлам, которые нужно объединить. output_file (str): Путь к результирующему файлу, куда будет записан итог. """ files_data = [] # Читаем содержимое каждого файла for filepath in file_list: with open(filepath, "r", encoding="utf-8") as f: lines = f.readlines() filename = filepath.split("/")[-1] # извлекаем имя файла files_data.append((filename, len(lines), lines)) # Сортируем по количеству строк files_data.sort(key=lambda x: x[1]) # Записываем в результат with open(output_file, "w", encoding="utf-8") as out: for filename, count, lines in files_data: out.write(filename + "\n") out.write(str(count) + "\n") out.writelines(lines) out.write("\n") def main(): file_list = ['1.txt', '2.txt', '3.txt'] merge_files(file_list, "output.txt") if __name__ == '__main__': main()