Pythonでワイルドカードを使って特定の種類のファイルをコピーする方法について説明します。この記事では、glob
とshutil
という2つのPythonモジュールを使用します。
globモジュール
Pythonのglob
モジュールは、Unixシェルのルールに基づいて指定したパターンに一致するファイルパスのリストを返す機能を提供します。ワイルドカード*
は任意の文字列を、?
は任意の1文字を表します。
shutilモジュール
shutil
モジュールは、高レベルのファイル操作を提供します。この記事では、shutil.copy()
関数を使用してファイルをコピーします。
ファイルのコピー
以下に、glob
とshutil
を使用して特定の種類のファイルを別のディレクトリにコピーするPythonスクリプトの例を示します。
import glob
import shutil
dest_dir = "C:/test"
for file in glob.glob(r'C:/*.txt'):
print(file)
shutil.copy(file, dest_dir)
このスクリプトは、Cドライブのルートディレクトリにあるすべての.txt
ファイルをC:/test
ディレクトリにコピーします。
注意点
glob.glob()
はワイルドカードを含むパターンを引数に取り、パターンに一致するファイルパスのリストを返します。shutil.copy()
は2つの引数、ソースファイルパスとターゲットディレクトリを取り、ソースファイルをターゲットディレクトリにコピーします。r
プレフィックスは、文字列を「raw」にするために使用されます。これにより、バックスラッシュ\
がエスケープシーケンスとして解釈されるのを防ぎます。
以上がPythonでワイルドカードを使ってファイルをコピーする方法です。この方法を使えば、特定の種類のファイルを効率的に操作することができます。ぜひ試してみてください。