Python 3 でコマンドライン引数を読み取り、処理(パース)する方法は?

PYTHON3 チュートリアル

Python 3のコマンドライン引数の読み取りと処理方法について

Python 3では、コマンドライン引数を簡単に読み取り、処理するために標準ライブラリのargparseモジュールが利用できます。このモジュールを使用することで、プログラムに対して引数を指定して実行することができます。

1. 単純な引数の読み取り

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("name", help="Enter your name")
args = parser.parse_args()

print("Hello, " + args.name + "!")

上記のコードは、コマンドラインで指定した名前を取得し、それを使って挨拶を表示する単純な例です。以下が実行結果です。

$ python script.py John
Hello, John!

2. オプション引数の読み取り

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--verbose", help="Increase output verbosity", action="store_true")
args = parser.parse_args()

if args.verbose:
    print("Verbosity turned on!")

上記の例では、--verboseオプションを指定することで冗長な出力を有効にすることができます。以下が実行結果です。

$ python script.py --verbose
Verbosity turned on!

3. 複数の引数の読み取り

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("num1", type=int, help="Enter the first number")
parser.add_argument("num2", type=int, help="Enter the second number")
args = parser.parse_args()

result = args.num1 + args.num2
print("Sum: " + str(result))

上記の例では、2つの数値を引数として受け取り、それらを足し合わせた結果を表示しています。以下が実行結果です。

$ python script.py 10 20
Sum: 30

以上がPython 3でコマンドライン引数を読み取り、処理する方法の基本的な説明とサンプルコードです。適切な引数処理を行うことで、柔軟で使いやすいプログラムを作成することができます。

Python 3 でコマンドライン引数を読み取り、処理(パース)する方法は、標準ライブラリの argparse モジュールを使用することが一般的です。argparse モジュールを使うと、コマンドライン引数の定義やヘルプメッセージの作成、引数のパースなどが簡単に行えます。

以下は、argparse モジュールを使用してコマンドライン引数を読み取り、処理する基本的な例です。

“`python
import argparse

# 引数の定義
parser = argparse.ArgumentParser(description=’このプログラムの説明’)
parser.add_argument(‘input_file’, help=’入力ファイルのパス’)
parser.add_argument(‘–output’, help=’出力ファイルのパス’)

# 引数のパース
args = parser.parse_args()

# パースした引数の利用
print(‘入力ファイル:’, args.input_file)
if args.output:
print(‘出力ファイル:’, args.output)
“`

この例では、input_file という必須の引数と、–output オプションの引数を定義しています。プログラムを実行する際には、コマンドラインから引数を指定して実行することで、argparse モジュールがそれらをパースし、args オブジェクトに格納されます。その後、args オブジェクトから必要な情報を取り出して処理を行うことができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments