Python3 - pathlib で ファイルをコピーする

pathlib にはファイルコピー機能が無いため、 shutil モジュールを使用します。

ファイルのコピー方法

「shutil.copy()」でパーミッション情報も含めてコピーできます。「shutil.copy2()」を使用するとパーミッションに加え、メタ情報(作成日や変更日)もコピーされます。
import shutil
import pathlib

fromPath = pathlib.Path(コピー元ファイル名)
toPath = pathlib.Path(コピー先ディレクトリ または ファイル名)
shutil.copy(fromPath, toPath)

パーミッションに加え、メタ情報(作成日や変更日)もコピーしたい場合

shutil.copy2(fromPath, toPath)

python のバージョンが古い場合

古いバージョンでは、shutil の引数に Path オブジェクトを渡すと例外が発生します。 str() を使用し、文字列に変換すると回避できます。
fromFilePath = pathlib.Path(コピー元ファイル名)
toPath = pathlib.Path(コピー先ディレクトリ または ファイル名)
shutil.copy(str(fromFilePath), str(toPath))

サンプルコード

ファイル 'test.txt' を、 './copydir/test.txt' にコピーします。ディレクトリがない場合は、作成します。
import shutil
import pathlib

# コピーするファイル
fromFilePath = pathlib.Path('./test.txt')
# コピー先のディレクトリ(フォルダ)
toDirPath = pathlib.Path('./copydir')

# ディレクトリが無ければ作る
#  parents=True -> 親ディレクトリが無ければ作成
#  exist_ok=True -> ディレクトリがあってもエラーにしない
toDirPath.mkdir(parents=True, exist_ok=True)

# ファイルコピー
shutil.copy(fromFilePath, toDirPath)

検証環境

関連ページ