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()
|