DAS_2024_1/klyushenkova_ksenia_lab_2/w-1/worker-1.py
2024-12-20 00:24:54 +04:00

45 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)