1. コマンドラインパラメータの受け渡しの役割
コマンド ライン引数の受け渡しは、プログラムに次のようなさまざまな利点をもたらします。
-
柔軟性: コマンド ライン パラメータを使用すると、ユーザーはコードを変更せずに、プログラムを実行するたびに動作を変更できます。
-
自動化とバッチ処理: コマンド ライン パラメータを使用すると、自動化ツール、バッチ ファイル、またはその他のスクリプトからさまざまなパラメータを渡してスクリプトやプログラムを簡単に呼び出すことができます。
-
簡略化された構成: 一部の単純なプログラムやタスクでは、構成ファイルを作成して読み取るよりもコマンド ライン パラメータを使用する方が直観的で簡単な場合があります。
-
リアルタイム ヘルプ ドキュメント:
argparse
のようなライブラリを使用すると、ユーザーがヘルプを必要としたときに各パラメータの説明を提供できます。コマンドラインでパラメータ情報を直接取得できます。 -
移植性: コマンド ライン パラメータには、さまざまなオペレーティング システムや環境にわたって一貫した概念と動作があるため、コードの移植性が向上します。
-
明示性: コマンド ラインからプログラムを起動して引数を指定する場合、引数の値を明示的に指定すると操作がより透過的になり、ロギングやトラブルシューティングに非常に役立ちます。 。
-
迅速なプロトタイピングとテスト: 開発段階で、プログラマーはプログラムを迅速に実行し、さまざまなパラメータを使用してさまざまなシナリオや機能をテストできます。
-
エラーの削減:
argparse
ライブラリによって提供されるように、コマンド ライン パラメータに型と有効性のチェックを設定することで、ユーザーが指定したパラメータを確実に実行できます。入力は正当かつ予期されるものであるため、実行時エラーが減少します。 -
他のツールとの統合: 最新の開発、導入、監視ツールの多くは、コマンド ライン インターフェイスを使用して動作します。コマンド ライン引数は、プログラムまたはスクリプトをこれらのツールとシームレスに統合できる標準化された方法を提供します。
2. 単純なケース
使用方法を示す簡単な例を以下に示します。argparse。
2 つのパラメーター (1 つは名前、もう 1 つは年齢) を受け取るスクリプトがあり、ウェルカム メッセージを出力したいとします。
脚本内容 (greet.py
):
import argparse
def main():
# 创建解析器对象
parser = argparse.ArgumentParser(description='简单的问候脚本')
# 添加姓名和年龄参数
parser.add_argument('--name', type=str, required=True, help='你的姓名')
parser.add_argument('--age', type=int, required=True, help='你的年龄')
# 解析参数
args = parser.parse_args()
# 打印欢迎消息
print(f"你好,{args.name}!你已经{args.age}岁了。")
if __name__ == '__main__':
main()
実行方法:cd でスクリプトが存在するディレクトリに移動し、コマンド ラインからスクリプトを呼び出して、次のようにパラメータを渡すことができます。
python greet.py --name 张三 --age 25
実行後、次の出力が表示されます。
你好,张三!你已经25岁了。
今すぐ:
3. argparseモジュールの使用例を詳しく解説
argparse モジュールは、コマンド ライン オプション、引数、およびサブコマンド パーサーです。ユーザーフレンドリーなコマンドラインインターフェイスを簡単に作成できます。コードでパラメータを頻繁に変更する必要がある状況に適しています。
Python の argparse モジュールの一般的な使用例には例が含まれます (超詳細)_python argparse の使用例 - CSDN ブログ
使用アイデア:
1) まず argparse モジュールをインポートします import argparse
2) コマンド ライン入力を Python データに解析するために必要なすべての関数を含む ArgumentParser オブジェクトを作成します。 description はオブジェクトの説明情報で、 python test_argparse.py -h コマンド
parser = argparse.ArgumentParser(description='Calculate volume of aylinder') を使用して表示できます。 ;) () はパラメータ名になります。パラメータの型は、このパラメータのデータ型を int であると宣言します。操作の場合、デフォルトのデータ型は str; 説明情報 parser.add_argument('radius', type=int, help ='円柱の半径')
3) 入力する必要があるコマンド ライン パラメータを追加します 5) 取得した半径と高さ args.radius、args.height をパラメータとしてメソッドに渡し、結果を取得します。