Перемещение нескольких файлов .jpgs из одного каталога в подкаталог в подкаталоге - PullRequest
0 голосов
/ 14 января 2020
import os
import shutil
import glob
i = 0

    Source = "L:\\source\\GIS\\Natural_Resource\\Trees\\TreeWatch\\2019\\TreePhotos"
    destination = "L:\\source\\Natural Resources\\Tree_Folders\\MULTIPLE_TREE_NAMES\\Photos"

destination_list = os.listdir(Source)
data_dir_list = os.listdir(destination)
for fileName in destination_list:
   if not os.path.isdir(os.path.join(Source, fileName)):
       for prefix in data_dir_list:
           if fileName.startswith(prefix):
               shutil.move(os.path.join(Source, fileName),
                           os.path.join(destination, prefix, fileName))
               print (fileName + " copied")`
               i=i+1`
               print ("Total Photos Copied:", i)

Я пытаюсь взять папку, полную фотографий, сделанных за год, разделить их на нужную папку на основе номера, на котором помечена фотография, соответствующего номеру «дерева», а затем, как только он Переместился в соответствующую нумерованную папку в этой папке. У меня есть папка с фотографиями, в которую нужно поместить фотографии для этого указанного c "дерева". Приведенный выше код перемещает его в соответствующую нумерованную папку, но я не знаю как поместить его в папку с фотографиями, чтобы потом вытащить его обратно и продолжить с другими ~ 600 фотографиями

1 Ответ

0 голосов
/ 15 января 2020

заменить строку shutil.move на:

    os.makedirs(os.path.join(destination, prefix, "photos"), exist_ok=True)
    shutil.move(os.path.join(Source, fileName),
                os.path.join(destination, prefix, "photos", fileName))

И это должно работать. Это в основном создает новую папку с именем «photos», если она еще не существует, и перемещает туда файл. Я надеюсь, что это то, что вы хотели

...