How to copy files

copy, file, file-copying, filesystems, python

Solution

`shutil` has many methods you can use. One of which is:

import shutil

shutil.copyfile(src, dst)

# 2nd option
shutil.copy(src, dst)  # dst can be a folder; use shutil.copy2() to preserve timestamp

- Copy the contents of the file named `src` to a file named `dst`. Both `src` and `dst` need to be the entire filename of the files, including path.

- The destination location must be writable; otherwise, an `IOError` exception will be raised.

- If `dst` already exists, it will be replaced.

- Special files such as character or block devices and pipes cannot be copied with this function.

- With `copy`, `src` and `dst` are path names given as `str`s.

Another `shutil` method to look at is `shutil.copy2()`. It's similar but preserves more metadata (e.g. time stamps).

If you use `os.path` operations, use `copy` rather than `copyfile`. `copyfile` will only accept strings.

Problem

How do I copy a file in Python?

Original source