Lo primero que tengo que mencionar aquí, soy nuevo en Python.
Ahora tengo un archivo ubicado en:
a/long/long/path/to/file.py
Quiero copiar a mi directorio de inicio con una nueva carpeta creada:
/home/myhome/new_folder
Mi resultado esperado es:
/home/myhome/new_folder/a/long/long/path/to/file.py
¿Hay alguna biblioteca existente para hacer eso? Si no, ¿cómo puedo lograr eso?
Para crear todos los directorios de destino de nivel intermedio, puede usar os.makedirs()
antes de copiar:
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)
echar un vistazo a shutil
. shutil.copyfile(src, dst)
copiará un archivo a otro archivo.
Tenga en cuenta que shutil.copyfile
no creará directorios que aún no existen. para eso, usa os.makedirs