Pythonのargparseモジュールは、ユーザーフレンドリーなコマンドラインインターフェースの作成を簡単にします。プログラムは必要とする引数が何かを定義し、argparsesys.argvからそれらの引数を解析する方法を見つけ出します。

一方、globモジュールは、ワイルドカードを含むパス名を指定して、そのパス名にマッチする全てのパス名を取得することができます。

以下に、argparseglobを組み合わせて使用する一例を示します。

import argparse, glob, sys

parser = argparse.ArgumentParser()
parser.add_argument("src_path", metavar="path", type=str, help="Path to files to be merged; enclose in quotes, accepts * as wildcard for directories or filenames")
args = parser.parse_args()
files = glob.glob(args.src_path)

for file in files:
    try:
        with open(file, 'r') as f:
            print('File exists: ' + file)
    except IOError:
        sys.stderr.write('File does not exist: ' + file + '\\n')

このコードは、コマンドライン引数で指定されたパス(ワイルドカードを含むことが可能)に存在する全てのファイルを開き、そのファイル名を出力します。ファイルが存在しない場合は、エラーメッセージを出力します。

このように、argparseglobを組み合わせることで、柔軟なファイル操作を行うスクリプトを作成することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です