私はPythonを初めて使用し、このような文字列を処理できるように、Pythonコードの可変数の引数を処理したいと考えています-
python abc.py -20 input1.txt input2.txt .. output.txt
-20はオプションです。少なくとも1つの入力ファイルが必要ですが、最後に任意の数の入力ファイルと必要な出力ファイルを含めることができます。私はargparseを調べました。固定引数またはオプションを実行できますが、この場合は理解できません。
私はPythonを初めて使用し、このような文字列を処理できるように、Pythonコードの可変数の引数を処理したいと考えています-
python abc.py -20 input1.txt input2.txt .. output.txt
-20はオプションです。少なくとも1つの入力ファイルが必要ですが、最後に任意の数の入力ファイルと必要な出力ファイルを含めることができます。私はargparseを調べました。固定引数またはオプションを実行できますが、この場合は理解できません。
nargs='+'
可変数の引数を追加します。
parser.add_argument("input", nargs='+')
parser.add_argument("output")
$ ./test.py input1 input2 input3 output
Namespace(input=['input1', 'input2', 'input3'], output='output')
argparse を使用します。argparse docsの例を次に示します。
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
走る:
$ prog.py 1 2 3 4
4
$ prog.py 1 2 3 4 --sum
10