В python, как мне скопировать файлы в каталог и остановить, как только этот каталог достигнет определенного размера

#python #copy #directory

#python #Копировать #каталог

Вопрос:

Я все еще новичок в Python, но я пытаюсь создать программу, которая, среди прочего, скопирует содержимое каталога в набор каталогов, который поместится на диск (я настроил следующие переменные в качестве емкости нужного мне размера и настроил инструкцию ввода, чтобы указать, какая из них применима):

 BluRayCap = 25018184499
DVDCap = 4617089843
CDCap = 681574400
  

Итак, в основном я хочу скопировать содержимое начального каталога в другой каталог и при необходимости создать другой каталог, чтобы содержимое поместилось на диски.

Здесь я как бы натыкаюсь на препятствие. Спасибо!

Ответ №1:

Вы можете использовать os.path.getsize, чтобы получить размер файла, и вы можете использовать os.пройдитесь по дереву каталогов, так что что-то вроде следующего (я позволю вам реализовать CreateOutputDirectory и CopyFileToDirectory):

 current_destination = CreateOutputDirectory()
for root, folders, files in os.walk(input_directory):
   for file in files:
       file_size = os.path.getsize(file)
       if os.path.getsize(current_destination)   file_size > limit:
          current_destination = CreateOutputDirectory()
       CopyFileToDirectory(root, file, current_destination)
  

Кроме того, вы можете найти расширение Python Search для Chrome полезным для поиска этой документации.

Комментарии:

1. Похоже, это то, что мне нужно. Мне придется поработать над реализацией этих двух функций, но теперь у меня есть более четкое направление. Спасибо!

Ответ №2:

Ответ Майкла Аарона Сафьяна хорош.

Кроме того, вы можете использовать модуль shutil для CreateOutputDirectory и CopyFileToDirectory