Как скопировать файл с помощью python?
Первое, что я должен упомянуть здесь, я новичок в python.
Теперь у меня есть файл, расположенный в:
a/long/long/path/to/file.py
Я хочу скопировать мой домашний каталог с созданной новой папкой:
/home/myhome/new_folder
Ожидаемый результат:
/home/myhome/new_folder/a/long/long/path/to/file.py
Существует ли какая-либо существующая библиотека? Если нет, как я могу это достичь?
Ответы
Ответ 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