Oct. 15, 2012

How to copy and move files with Shutil.

What is Shutil?

The shutil module helps you automate copying files and directories. This saves the steps of opening, reading, writing and closing files when there is no actual processing. It is a utility module which can be used to accomplish tasks, such as: copying, moving, or removing directory trees
shutil. copy ( src , dest )
# Basically the unix command cp src dst. 

# this copies the source file to the destination directory

# the destination directory has to exist

# if the filename already exists there, it will be overwritten

# access time and last modification time will be updated

# the same filename is used

# the permissions of the file are copied along with the contents.
import shutil
import os
source = os.listdir("/tmp/")
destination = "/tmp/newfolder/"
for files in source:
    if files.endswith(".txt"):
        shutil.copy(files,destination)
shutil.copyfile ( src , dest )
# copy data from src to dest 

# both names must be files.

# copy files by name 
import shutil  
shutil.copyfile('/path/to/file', '/path/to/other/phile')  
shutil.move
# recursively move a file or directory (src) to another location (dst).

# if the destination is a directory or a symlink to a directory, then src is moved
inside that directory.

# the destination directory must not already exist.

# this would move files ending with .txt to the destination path
import shutil
import os
source = os.listdir("/tmp/")
destination = "/tmp/newfolder/"
for files in source:
    if files.endswith(".txt"):
        shutil.move(files,destination)
shutil.copytree ( src , dest )
# recursively copy the entire directory tree rooted at src to dest. 

# dest must not already exist. 

# errors are reported to standard output.
import shutil
import os
SOURCE = "samples"
BACKUP = "samples-bak"
# create a backup directory
shutil.copytree(SOURCE, BACKUP)
print os.listdir(BACKUP)
shutil.rmtree ( path )
# recursively delete a directory tree.
# This removes the directory 'three' and anything beneath it in the filesystem.
import shutil
shutil.rmtree('one/two/three')

Share this article

Recommended Python Training – DataCamp

For Python training, our top recommendation is DataCamp.

Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field.

Datacamp has beginner to advanced Python training that programmers of all levels benefit from.

 

Download Our Free Guide To Learning Python

* indicates required

Read more about:
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, PythonForBeginners.com only recommend products or services that we try personally and believe will add value to our readers.