Home > Back-end >  How do I copy all folder contents from one location to another location in Python?
How do I copy all folder contents from one location to another location in Python?

Time:12-05

I have been trying to make a python file that will copy contents from one folder to another. I would like it to work on any Windows system that I run it on. It must copy ALL things ...

i need solution to this problem.

CodePudding user response:

Here is one way to do this using the shutil module in Python:

import shutil

# Replace the source and destination paths with the appropriate paths on your system
src_dir = "C:\\source\\folder"
dst_dir = "C:\\destination\\folder"

# Use the shutil.copytree function to copy everything from the source directory to the destination directory
shutil.copytree(src_dir, dst_dir)

This will copy all files and subdirectories from src_dir to dst_dir. Note that dst_dir must not already exist, otherwise the copytree function will raise an error.

You can also use the copy function from the shutil module to copy individual files. For example:

import shutil

# Replace the source and destination paths with the appropriate paths on your system
src_file = "C:\\source\\folder\\file.txt"
dst_file = "C:\\destination\\folder\\file.txt"

# Use the shutil.copy function to copy the file
shutil.copy(src_file, dst_file)

This will copy the file at src_file to the destination at dst_file. If dst_file already exists, it will be overwritten.

You can use these functions in a loop to iterate over all files in a directory and copy them to the destination directory. Here is an example:

import os
import shutil

# Replace the source and destination paths with the appropriate paths on your system
src_dir = "C:\\source\\folder"
dst_dir = "C:\\destination\\folder"

# Create the destination directory if it does not already exist
if not os.path.exists(dst_dir):
    os.makedirs(dst_dir)

# Iterate over all files in the source directory
for filename in os.listdir(src_dir):
    # Construct the full paths for the source and destination files
    src_file = os.path.join(src_dir, filename)
    dst_file = os.path.join(dst_dir, filename)
    
    # Use the shutil.copy function to copy the file
    shutil.copy(src_file, dst_file)

CodePudding user response:

import shutil
import os

# Path to the directory
source = 'C:/path/to/source/folder'

# Path to the destination directory
destination = 'C:/path/to/destination/folder'

# Copy contents from source to destination
shutil.copytree(source, destination)

# List all the files in source directory
source_files = os.listdir(source)

# Iterate over all the files in source directory
for file_name in source_files:
    # Create full path of file in source directory
    full_file_name = os.path.join(source, file_name)
    # If file is a directory, create corresponding directory in destination
    # directory
    if os.path.isdir(full_file_name):
        shutil.copytree(full_file_name, os.path.join(destination, file_name))
    else:
        # Copy the file from source to destination
        shutil.copy2(full_file_name, destination)
  • Related