How to copy a file along with directory structure/path using python?

copy, directory, file, python

Solution

To create all intermediate-level destination directories you could use `os.makedirs()` before copying:

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)

Problem

First thing I have to mention here, I'm new to python. Now I have a file located in: ``` a/long/long/path/to/file.py ``` I want to copy to my home directory with a new folder created: ``` /home/myhome/new_folder ``` My expected result is: ``` /home/myhome/new_folder/a/long/long/path/to/file.py ``` Is there any existing library to do that? If no, how can I achieve that?

Original source

Related problems