Подтвердить что ты не робот

Как скопировать файл с помощью python?

Первое, что я должен упомянуть здесь, я новичок в python.

Теперь у меня есть файл, расположенный в:

a/long/long/path/to/file.py

Я хочу скопировать мой домашний каталог с созданной новой папкой:

/home/myhome/new_folder

Ожидаемый результат:

/home/myhome/new_folder/a/long/long/path/to/file.py

Существует ли какая-либо существующая библиотека? Если нет, как я могу это достичь?

4b9b3361

Ответ 1

Чтобы создать все целевые каталоги промежуточного уровня, вы можете использовать os.makedirs() перед копированием:

import os
import shutil

srcfile = 'a/long/long/path/to/file.py'
dstroot = '/home/myhome/new_folder'


assert not os.path.isabs(srcfile)
dstdir =  os.path.join(dstroot, os.path.dirname(srcfile))

os.makedirs(dstdir) # create all directories, raise an error if it already exists
shutil.copy(srcfile, dstdir)

Ответ 2

взгляните на shutil. shutil.copyfile(src, dst) скопирует файл в другой файл.

Обратите внимание, что shutil.copyfile не будет создавать каталоги, которые еще не существуют. для этого используйте os.makedirs