Pythonのargparseライブラリは、コマンドライン引数を処理するための強力なツールです。特に、ファイルパスを引数として取り扱う場合には、いくつかの便利な機能があります。
ファイルパスを引数として受け取る
argparseを使用してファイルパスを引数として受け取る基本的な方法は次のとおりです。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--path', help='paste path to biog.txt file')
args = parser.parse_args()
このコードでは、--path
という名前の引数を定義しています。この引数は、ユーザーがコマンドラインからスクリプトを実行するときに指定できます。
ファイルパスの存在を確認する
ただし、この方法では、指定されたパスが実際に存在するかどうかは確認されません。そのため、存在を確認するためのカスタム関数を定義することが推奨されます。
import argparse, os
def dir_path(string):
if os.path.isdir(string):
return string
else:
raise NotADirectoryError(string)
parser = argparse.ArgumentParser()
parser.add_argument('--path', type=dir_path)
このコードでは、dir_path
というカスタム関数を定義しています。この関数は、指定された文字列が実際にディレクトリパスを指しているかどうかを確認します。指していない場合は、NotADirectoryError
を発生させます。
まとめ
Pythonのargparseライブラリを使用すれば、ファイルパスをコマンドライン引数として簡単に扱うことができます。また、カスタム関数を使用すれば、引数として指定されたパスが実際に存在するかどうかを確認することも可能です。これらの機能を活用すれば、Pythonスクリプトの柔軟性と堅牢性を向上させることができます。