40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
import os
|
||
import shutil
|
||
|
||
def find_largest_file(directory):
|
||
largest_file = None
|
||
largest_size = 0
|
||
|
||
# Проходим по всем файлам и подкаталогам в указанном каталоге
|
||
for dirpath, dirnames, filenames in os.walk(directory):
|
||
for filename in filenames:
|
||
filepath = os.path.join(dirpath, filename)
|
||
try:
|
||
# Получаем размер файла
|
||
file_size = os.path.getsize(filepath)
|
||
# Проверяем, является ли этот файл самым большим
|
||
if file_size > largest_size:
|
||
largest_size = file_size
|
||
largest_file = filepath
|
||
except OSError as e:
|
||
print(f"Ошибка при доступе к файлу {filepath}: {e}")
|
||
|
||
return largest_file
|
||
|
||
def main():
|
||
source_directory = '/var/data'
|
||
destination_file = '/var/result/data.txt'
|
||
|
||
largest_file = find_largest_file(source_directory)
|
||
|
||
if largest_file:
|
||
print(f"Самый большой файл: {largest_file} ({os.path.getsize(largest_file)} байт)")
|
||
# Копируем самый большой файл в указанное место
|
||
shutil.copy(largest_file, destination_file)
|
||
print(f"Файл скопирован в: {destination_file}")
|
||
else:
|
||
print("Не найдено ни одного файла.")
|
||
|
||
if __name__ == "__main__":
|
||
main()
|