web-dev-qa-db-ja.com

端末からpythonスクリプトを実行中に関数に引数を渡す方法は?

pythonという名前のsolution.pyというファイルがあり、次のコマンドを使用して端末から正常に実行できます。

chmod +x solution.py
python3 solution.py

簡単な印刷フレーズなどがある場合、これは問題なく機能します。

solution.pyで関数を定義し、ターミナルから直接必要なパラメーターで関数を呼び出したい場合はどうすればよいですか?引数を関数呼び出しに渡すにはどうすればよいですか?

5
user253956

sys モジュールを使用することもできます。以下に例を示します。

import sys

first_arg = sys.argv[1]
second_arg = sys.argv[2]

def greetings(Word1=first_arg, Word2=second_arg):
    print("{} {}".format(Word1, Word2))

if __== "__main__":
    greetings()
    greetings("Bonjour", "monde")

あなたが探している動作があります:

$ python parse_args.py Hello world
Hello world
Bonjour monde
17
Buddyshot

Pythonは、引数を解析する複数の方法を提供します。最良の選択は、 argparse モジュールを使用することです。これには、使用できる多くの機能があります。

そのため、コード内の引数を解析し、コード内の引数をキャッチして取得する必要があります。

コードから解析せずに、ターミナルを介して引数を渡すことはできません。

1
Maythux