/
kronas26
/
ProjectCook_Book
Обзор
Документация
Войти
/
kronas26
/
ProjectCook_Book
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Task-3/main2.py
50 строк
2 KB
KRONAS
first_commit
19 окт 2025, 12:08
19 окт 2025, 12:08
1f3ebc6
Код
Авторство
О чём код?
import os def count_lines(file_path): try: with open(file_path, 'r', encoding='utf-8') as file: return sum(1 for _ in file) except FileNotFoundError: print(f'Файл {file_path} не найден.') return None def main(): files = ['1.txt', '2.txt', '3.txt'] # Словарь для хранения количества строк в каждом файле lines_count = {} # Подсчет количества строк в каждом файле for filename in files: full_file_path = os.path.join(os.getcwd(), filename) if not os.path.exists(full_file_path): print(f'Ошибка: файл "{full_file_path}" не существует!') continue lines_num = count_lines(full_file_path) if lines_num is not None: lines_count[filename] = lines_num # Сортируем файлы по количеству строк sorted_files = sorted(lines_count.items(), key=lambda x: x[1]) # Создание выходного файла output_filename = 'result.txt' with open(output_filename, 'w', encoding='utf-8') as result_file: for filename, line_count in sorted_files: # Запись имени файла и количества строк result_file.write(f'{filename}\\n') result_file.write(f'{line_count}\\n') # Чтение и запись содержимого файла with open(filename, 'r', encoding='utf-8') as current_file: content = current_file.read().strip() # Удаляем лишние символы в конце текста result_file.write(content + '\\n\\n') # Оставляем пустую строку между файлами print('Объединение файлов успешно завершено.') if __name__ == '__main__': main()