-Python- Переместить все файлы PDF в папке в новый каталог на основе сопоставления имен, используя Glob или Shutil - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь написать код, который переместит сотни файлов PDF из папки: / Scans в другой каталог на основе соответствия имени каждого клиента.Я не уверен, должен ли я использовать Glob, Shutil или их комбинацию.Моя рабочая теория заключается в том, что Glob должен работать для такой программы, поскольку модуль glob «находит все пути, соответствующие указанному шаблону», а затем использует Shutil для физического перемещения файлов?

Вот разбивка моегопапки с файлами, чтобы дать вам лучшее представление о том, что я пытаюсь сделать.

В папке: / Scans У меня есть тысячи файлов PDF, переименованных вручную на основе клиента и содержимого, так что папка выглядит следующим образом:

lastName, firstName - [contentVariable] (повторите выше 100 000x)

На диске моего компьютера: / J у меня есть папка «Клиенты» с подпапками для каждогои каждый клиент, аналогичный приведенному выше шаблону, называется «lastName, firstName»

Я хочу, чтобы программа прошла через папку: / Scans и переместила каждый PDF-файл в соответствующую папку клиента на основе 'lastName, firstName '

Мне удалось написать простую программу для перемещения файлов между папками, но не ту, которая будет выполнять вышеуказанное сопоставление имен.

shutil.copy('C:/Users/Kenny/Documents/Scan_Drive','C:/Users/Kenny/Documents/Clients')

^ Перемещение файла из одной папки в другую ... довольно легко сделать.

Есть ли способ изменить приведенный выше код для применения к регулярному выражению (ниже)?

shutil.copy('C:/Users/Kenny/Documents/Scan_Drive/\w*', 'C:/Users/Kenny/Documents/Clients/\w*')

РЕДАКТИРОВАТЬ: @Byberi - Что-то в этом роде?

path = "C:/Users/Kenny/Documents/Scans" dirs = os.path.isfile()

Это будет печатать все файлы и каталоги

for file in dirs: print file

dest_dir = "C:/Users/Kenny/Documents/Clients" for file in glob.glob(r'C:/*'): print(file) shutil.copy(file, dest_dir)

Я уже ознакомился со следующими темами, но не могу найти, как сопоставить и переместить файлы.

Выберите файлы в каталоге и переместите их на основе текстового списка имен файлов

https://docs.python.org/3/library/glob.html

Python перемещает файлы из соответствующих каталоговзаданные критерии для нового каталога

https://www.guru99.com/python-copy-file.html

https://docs.python.org/3/howto/regex.html

https://code.tutsplus.com/tutorials/file-and-directory-operations-using-python--cms-25817

...