Задать вопрос
@alehandry

Как сделать программу для перемещения файлов?

Здравствуйте, у меня есть папка "ПОСТАНОВЛЕНИЯ", внутри которой находятся документы, каждый из которых содержит номер("12.02.2023 №1.docx", "12.02.2023 №2.docx", "12.02.2023 №3.docx", "14.05.2023 №4.docx" и так далее). Также есть папка "ПОСТ", внутри которой находятся папки "DOCID100", "DOCID101", "DOCID102" и так далее, внутри каждой этой папки есть папка "Документ".
Далее есть таблица в формате CSV, в первом столбце указаны все папки DOCID ("DOCID100", "DOCID101", "DOCID102" и так далее), а во втором столбце сопутствующие номера (1, 2, 3, 4 и так далее) документов из папки "ПОСТАНОВЛЕНИЯ".

Документы внутри папки ПОСТАНОВЛЕНИЯ:
12.02.2023 №1.docx
12.02.2023 №2.docx
12.02.2023 №3.docx
14.05.2023 №4.docx
14.05.2023 №5.docx
14.05.2023 №6.docx

Папки внутри папки ПОСТ:
DOCID100
DOCID101
DOCID102
DOCID103
DOCID104
DOCID105
(внутри каждой этой папки есть еще одна папка "Документ")

CSV:
DOCID100;1
DOCID101;2
DOCID102;3
DOCID103;4
DOCID104;5
DOCID105;6

Нужно написать приложение, при помощи которого можно переместить все документы из папки "ПОСТАНОВЛЕНИЯ" в папку "Документ" внутри подходящей папки DOCID.

Пример: в CSV есть строчка "DOCID102;3", это означает то, что документ "12.02.2023 №3.docx" должен быть перемещен в папку "Документ", которая находится в папке "DOCID102".
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Составляешь список документов в постановлениях (модуль pathlib, метод Path.glob).
Перебираешь строки csv файла (стандартный модуль csv в помощь).
Для каждого уникального ID (номера) в csv ищешь подходящее имя файла в постановлениях. Можно простым разбиением имени по символу № (смотри str.split() и str.partition()).
Определяешь желаемый путь, куда записать файл. Стандартный модуль pathlib в помощь.
Перемещаешь файл вызовом shutil.move() (стандартный модуль shutil).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы