• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
PythonForBeginners.com

PythonForBeginners.com

Learn By Example

  • Home
  • Learn Python
    • Python Tutorial
  • Categories
    • Basics
    • Lists
    • Dictionary
    • Code Snippets
    • Comments
    • Modules
    • API
    • Beautiful Soup
    • Cheatsheet
    • Games
    • Loops
  • Python Courses
    • Python 3 For Beginners
You are here: Home / OS / How to copy and move files with Shutil.

How to copy and move files with Shutil.

Author: PFB Staff Writer
Last Updated: May 20, 2020

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')

Related

Recommended Python Training

Course: Python 3 For Beginners

Over 15 hours of video content with guided instruction for beginners. Learn how to create real world applications and master the basics.

Enroll Now

Filed Under: OS Author: PFB Staff Writer

More Python Topics

API Argv Basics Beautiful Soup bitly Cheatsheet Code Code Snippets Command Line Comments Concatenation crawler Data Structures Data Types deque Development Dictionary Dictionary Data Structure In Python Error Handling Exceptions Filehandling Files Functions Games GUI Json Lists Loops Mechanzie Modules Modules In Python Mysql OS pip Python Python On The Web Python Strings Queue Requests Scraping Scripts Split Strings System & OS urllib2

Primary Sidebar

Menu

  • Basics
  • Cheatsheet
  • Code Snippets
  • Development
  • Dictionary
  • Error Handling
  • Lists
  • Loops
  • Modules
  • Scripts
  • Strings
  • System & OS
  • Web

Get Our Free Guide To Learning Python

Most Popular Content

  • Reading and Writing Files in Python
  • Python Dictionary – How To Create Dictionaries In Python
  • How to use Split in Python
  • Python String Concatenation and Formatting
  • List Comprehensions in Python
  • How to Use sys.argv in Python?
  • How to use comments in Python
  • Try and Except in Python

Recent Posts

  • Pandas Append Row to DataFrame
  • Convert String to DataFrame in Python
  • Pandas DataFrame to List in Python
  • Solved: Dataframe Constructor Not Properly Called Error in Pandas
  • Overwrite a File in Python

Copyright © 2012–2023 · PythonForBeginners.com

  • Home
  • Contact Us
  • Privacy Policy
  • Write For Us