import os import random # Установите полный путь к каталогу, в котором нужно искать самый большой файл. CATALOG_PATH = "/var/data" # Полный путь до файла результата. RESULT_FILE = "/var/result/data.txt" def find_largest_file(directory): """Ищет самый большой по объему файл в заданном каталоге и его подкаталогах.""" largest_file = None max_size = 0 for root, _, files in os.walk(directory): for file in files: # Полный путь к текущему файлу. filepath = os.path.join(root, file) try: file_size = os.stat(filepath).st_size if file_size > max_size: max_size = file_size largest_file = (filepath, file_size) except OSError as e: print(f"Ошибка при открытии файла '{filepath}': {e}") return largest_file def copy_file(src, dst): """Копирует содержимое файла src в файл dst.""" try: with open(dst, "wb") as f_dst, open(src, "rb") as f_src: while chunk := f_src.read(4096): f_dst.write(chunk) print(f"Файл '{src}' успешно скопирован в '{dst}'.") except Exception as e: print(f"Ошибка при копировании файла '{src}': {e}") def main(): largest_file_path = find_largest_file(CATALOG_PATH) if largest_file_path: src_path, _ = largest_file_path dst_path = RESULT_FILE copy_file(src_path, dst_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", 50) generate_random_numbers("/var/data/data2.txt", 75) generate_random_numbers("/var/data/data3.txt", 25) print("Генерация файлов завершена.") main()