Как использовать shutil.copytree без копирования пути родительского файла? - PullRequest
0 голосов
/ 20 июня 2019

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


У меня есть две директории:

Каталог 1: /Users/myname/f1/f2/f3/f4/f5

Каталог 2: /Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA


Я хочу скопировать все, начиная с f3, в папку fDELTA.Я хочу, чтобы новый каталог выглядел так:

/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/f3/f4/f5


Мой текущий код такой:

shutil.copy('/Users/myname/f1/f2/f3','/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA')

Однако, что я получаю в итогеэто:

/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/Users/myname/f1/f2/f3/f4/f5

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

Я знаю, что это кажется простым, но я просто не могу найти решение.

1 Ответ

0 голосов
/ 20 июня 2019

Как прокомментировал @ Ic74, вам не хватает названия целевого каталога в папке "fDELTA",

from shutil import copytree
from_path = "/Users/myname/f1/f2/f3"
to_path = "/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/f3"
copytree(from_path,to_path)
...