-1
私はArgparserのためにこのコードのようなものを書いています。すべてうまく動作しますが、なぜ '--h'または '--help'オプションが読みにくいのか不思議です。argparse -hは不器用で、カンマ区切りの値を受け入れることはできません
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input_file_path", type=str, nargs=1, help="input file")
parser.add_argument("-m", "--method_type", type=str, nargs='*', help="message")
parser.add_argument("-o", "--output_file_path", type=str, help="output file")
args = parser.parse_args()
return args
arguments = parse_args()
私はfilename.py -hを指定すると、それはなぜそれが「-h」または--helpが発行された同じキーを複数回を示してい
usage: parser.py [-h] [-i INPUT_FILE_PATH]
[-o OUTPUT_FILE_PATH]
optional arguments:
-h, --help show this help message and exit
-i INPUT_FILE_PATH, --input_file_path INPUT_FILE_PATH
input file
-m [METHOD_TYPE [METHOD_TYPE ...]], --method_type [METHOD_TYPE [METHOD_TYPE ...]]
message
-o OUTPUT_FILE_PATH, --output_file_path OUTPUT_FILE_PATH
output file
のようなものを示しています。もう一つの質問は、現在、 'method_type'には、空白で区切られた値、例えば
python filename.py -i input.txt -m hello1 hello2 -o output.txt
を受け入れることです。
def parser():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input_file_path", metavar='PATH', help="input file")
parser.add_argument("-m", "--method_type", metavar='FILE', nargs='*', help="message")
parser.add_argument("-o", "--output_file_path", metavar='PATH', help="output file")
return parser
In [10]: parser().print_help()
usage: ipython3 [-h] [-i PATH] [-m [FILE [FILE ...]]] [-o PATH]
optional arguments:
-h, --help show this help message and exit
-i PATH, --input_file_path PATH
input file
-m [FILE [FILE ...]], --method_type [FILE [FILE ...]]
message
-o PATH, --output_file_path PATH
output file
または長いオプション文字列
人々が持っている
usage: ipython3 [-h] [-i PATH] [-m [FILE [FILE ...]]] [-o PATH]
optional arguments:
-h, --help show this help message and exit
-i PATH, --input PATH
input file path
-m [FILE [FILE ...]], --method [FILE [FILE ...]]
message
-o PATH, --output PATH
output file path
に短縮することによって:それはヘルプ表示を凝縮することができます
python filename.py -i input.txt -m hello1,hello2 -o output.txt
1つにつき1つの質問をしてください。 – jwodder