Learning Sections show
Shutil Module in Python
The shutil
module in Python provides a collection of functions for high-level file operations, such as copying and removing files. It is especially useful for tasks that require dealing with file and directory manipulation.
Copying Files and Directories
The shutil
module provides several methods for copying files and directories:
# Copy a file
import shutil
shutil.copy('source.txt', 'destination.txt')
# Copy a directory
shutil.copytree('source_folder', 'destination_folder')
The copy
method copies a single file, while the copytree
method copies an entire directory along with its contents.
Moving Files and Directories
You can move files and directories using the move
function:
# Move a file
shutil.move('source.txt', 'new_location/source.txt')
# Move a directory
shutil.move('source_folder', 'new_location/source_folder')
The move
function moves a file or directory to a new location, similar to the Unix mv
command.
Removing Files and Directories
The shutil
module also provides functions to remove files and directories:
# Remove a file
os.remove('file_to_remove.txt')
# Remove a directory
shutil.rmtree('directory_to_remove')
Use the remove
function to delete a file and the rmtree
function to delete a directory and its contents.
Archiving Files
The shutil
module can create archives (e.g., zip, tar) from directories:
# Create a zip archive
shutil.make_archive('archive_name', 'zip', 'directory_to_archive')
# Create a tar archive
shutil.make_archive('archive_name', 'tar', 'directory_to_archive')
The make_archive
function creates an archive file from a directory.
Disk Usage
You can check the disk usage of a given path using the disk_usage
function:
# Check disk usage
usage = shutil.disk_usage('/')
print(usage)
The disk_usage
function returns a named tuple with the total, used, and free disk space in bytes.