import os
import shutil

# Ищет в каталоге /var/data самый большой по объёму файл и перекладывает его в /var/result/data.txt.
# Определяем пути
source_dir = '/var/data'
target_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:
            file_path = os.path.join(root, file)
            try:
                size = os.path.getsize(file_path)
                if size > max_size:
                    max_size = size
                    largest_file = file_path
            except OSError as e:
                print(f"Ошибка при обработке файла {file_path}: {e}")

    return largest_file

def move_largest_file_to_target(source_dir, target_file):
    largest_file = find_largest_file(source_dir)
    if not largest_file:
        print("В каталоге нет файлов.")
        return

    try:
        # Создаём директорию для файла, если она не существует
        os.makedirs(os.path.dirname(target_file), exist_ok=True)

        # Перемещаем содержимое самого большого файла
        shutil.copyfile(largest_file, target_file)
        print(f"Самый большой файл {largest_file} был перемещён в {target_file}.")
    except OSError as e:
        print(f"Ошибка при перемещении файла: {e}")


move_largest_file_to_target(source_dir, target_file)