Python: how to recursively copy a directory

Python: how to recursively copy a directory

In Python, there are several libraries that can be used to recursively copy a directory.

In Python, there are several libraries that can be used to recursively copy a directory, but one of the most common is shutil.

To use this library, you need to import it into the Python file and use the copytree() function. This function takes two parameters: the path to the directory to copy and the destination path where the copy will be created.

For example, if you wanted to copy the project directory from the current folder to the backup folder, the code would look like this:


import shutil

shutil.copytree('project', 'backup/project')

This code will copy the project directory inside the backup folder, creating a new directory called project.

It is important to note that if the destination directory already exists, the copytree() function will raise a FileExistsError exception. To avoid this error, you can use the rmtree() function of the same shutil library to remove the destination directory before copying the original directory:


import shutil
import os

target_dir = 'backup/project'

if os.path.exists(target_dir):
    shutil.rmtree(target_dir)

shutil.copytree('project', target_dir)

This code will remove the destination directory if it already exists, and then copy the original directory to the destination folder.