In this tutorial, we will learn how to copy a file using Python with an example. This tutorial covers the steps involved in copying a file, including importing the shutil module, specifying the source and destination files, and using the shutil.copy() method.
To start, here is a template that you may use to copy a file in Python using shutil.copyfile
:
import shutil
original = r'original path where the file is currently stored\file name.file extension'
target = r'target path where the file will be copied\file name.file extension'
shutil.copyfile(original, target)
Let’s now see the steps to apply the above template in practice.
shutil.copyfile
To begin, capture the path where your file is currently stored.
For example, let’s suppose that a CSV file is stored in a folder called Test_1:
C:\Users\Ron\Desktop\Test_1\products.csv
Where the CSV file name is ‘products‘ and the file extension is csv.
Next, capture the target path where you’d like to copy the file.
For our example, the file will be copied into a folder called Test_2:
C:\Users\Ron\Desktop\Test_2\products.csv
shutil.copyfile
For the final step, use the following template to copy your file:
import shutil
original = r'original path where the file is currently stored\file name.file extension'
target = r'target path where the file will be copied\file name.file extension'
shutil.copyfile(original, target)
Make sure to place the ‘r‘ character before your paths to avoid the following error:
SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape
In the context of our example, the complete code would look like this:
import shutil
original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'
shutil.copyfile(original, target)
If you run the code in Python (adjusted to your paths), you’ll see that the ‘products‘ CSV file would be copied into the Test_2 folder.
Alternatively, you may copy a file with a new name.
For instance, let’s copy the original CSV file (with the file name of ‘products‘) to the new location with a new file name (‘new_products‘):
import shutil
original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv'
shutil.copyfile(original, target)
The new file name (called ‘new_products‘) would then be copied into the target location (the Test_2 folder).
The same principles would apply for other file types. For instance, let’s suppose that a JPG file called ‘image‘ is stored in the Test_1 folder.
The following code can then be used to copy the image to the Test_2 folder:
import shutil
original = r'C:\Users\Ron\Desktop\Test_1\image.jpg'
target = r'C:\Users\Ron\Desktop\Test_2\image.jpg'
shutil.copyfile(original, target)
The JPG file should now appear in the Test_2 folder.
Originally published at Datatofish
#python