import os import random # Путь к каталогу для поиска файла с наибольшим кол-вом строк CATALOG_PATH = "/var/data" # Путь до файла с результатом RESULT_FILE = "/var/result/data.txt" def find_file_with_most_lines(directory): """Ищет файл с наибольшим количеством строк в заданном каталоге и его подкаталогах.""" file_with_most_lines = None max_lines = 0 for root, _, files in os.walk(directory): for file in files: filepath = os.path.join(root, file) try: with open(filepath, 'r', encoding='utf-8') as f: line_count = sum(1 for _ in f) if line_count > max_lines: max_lines = line_count file_with_most_lines = (filepath, line_count) except (OSError, UnicodeDecodeError) as e: print(f"Ошибка при обработке файла '{filepath}': {e}") return file_with_most_lines def copy_file(first, second): """Копирует содержимое файла first в файл second.""" try: with open(second, "wb") as f_second, open(first, "rb") as f_first: while chunk := f_first.read(4096): f_second.write(chunk) print(f"Файл '{first}' успешно скопирован в '{second}'.") except Exception as e: print(f"Ошибка при копировании файла '{first}': {e}") def main(): file_with_most_lines = find_file_with_most_lines(CATALOG_PATH) if file_with_most_lines: first_path, _ = file_with_most_lines second_path = RESULT_FILE copy_file(first_path, second_path) else: print("Не найдены файлы") def generate_random_numbers(filename, count): """Функция генерирует случайные числа и записывает их в файл""" with open(filename, "w") as f: for _ in range(count): num = random.randint(0, 1000) f.write(str(num) + "\n") print(f"Случайные числа успешно записаны в '{filename}'.") if __name__ == "__main__": generate_random_numbers("/var/data/data1.txt", 25) generate_random_numbers("/var/data/data2.txt", 30) generate_random_numbers("/var/data/data3.txt", 27) generate_random_numbers("/var/data/data4.txt", 12) generate_random_numbers("/var/data/data5.txt", 19) print("Генерация файлов завершена") main()