¿Cómo copiar un archivo junto con la estructura / ruta del directorio usando python?

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