Переместить папку с файлами в другую папку. Как лучше?
Есть такая структура директорий:
test_0
|-----level_1
|-----level_1_a
|-----level_1_b
| ... (и т.д.) ....
|-----task
|----file.csv
|----rest.py
... (и т.д.) ....
Нужно перенести папку с файлами в заданную папку. То есть, например, в level_1:
test_0
|-----level_1
|-----task
|----file.csv
|----rest.py
... (и т.д.) ....
|-----level_1_a
|-----level_1_b
| ... (и т.д.) ....
Ну и вот код,
from pathlib import Path
work_dir = Path() / "test_0"
task_dir = work_dir / "task"
folder_move_to = work_dir / "level_1" / "task"
folder_move_to.mkdir()
for file in task_dir.iterdir():
file.rename(work_dir / "level_1" / "task" / file.name)
task_dir.rmdir()
Похожие варианты которого приведены, например здесь.
Все почти хорошо. Но остается ощущение что как-то это "тяжеловато". Должно быть лучше))
Вопрос: Какой способ перемещения папки в данном случае лучше, безопаснее, короче ...
Ответы (1 шт):
Автор решения: Vasyl Kolomiets
→ Ссылка
В общем, в моей ситуации, когда все на одном диске, можно просто переименовать папку, содержащую диски. Тогда она переедет куда надо вместе с файлами.
то есть вместо
for file in task_dir.iterdir():
file.rename(work_dir / "level_1" / "task" / file.name)
достаточно ОДНОГО ПЕРЕИМЕНОВАНИЯ.
task_dir.rename(work_dir / "level_1" / "task")
Бинго! Спасибо @andreymal