概要
-
001_sample.json
というファイルがあったとします。中身を全く同じ状態のまま、100_sample.json
までファイルをコピー&連番で命名させる方法を紹介します。
サンプルコード解説
- サンプルコードでは、
shutil
モジュールを使用してファイルのコピーを行います。
sample.py
import shutil
# ファイルのコピー元とコピー先のパスを指定
source_file = "001_sample.json"
destination_directory = "./"
# 100回ループしてファイルをコピー
for i in range(2, 100):
# コピー先のファイル名を生成
destination_file = f"{str(i).zfill(3)}_sample.json"
# ファイルをコピー
shutil.copyfile(source_file, destination_directory + destination_file)
-
source_file
変数に元となるファイルのパスを指定 -
destination_directory
変数にコピー先のディレクトリのパスを指定(この例ではカレントディレクトリ) - 1から100までの範囲でループを回し、
f"{str(i).zfill(3)}_request.sh"
を使用してコピー先のファイル名を生成-
zfill(3)
は、生成されるファイル名が常に3桁のゼロパディングされることを保証
-
- 最後に、
shutil.copyfile
を使用してファイルをコピー。
備忘録
-
os
モジュールを使用する方法もあると思います。 -
shutil.copyfile()
関数は、ソースファイルと宛先ファイルのパスを指定するだけで、簡単にファイルをコピーできるのが良いですよね。パスの組み立てやファイルのオープン・クローズなどの手間が不要です。