2017-09-14 10 views
2

私は答えが見つからない質問があります。これは私のコードブロックです:python argparse like --home-path

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument('-t', '--test', help='just for testing') 
parser.add_argument('--home-path', help='specify the homepath') 
args = parser.parser_args() 
if args.test: 
     print('Test') 

私はどのようにしてtest引数のように--home-path引数にアクセスできますか?

答えて

2

ただ、属性名に_-を置き換える:この動作はArgumentParser.add_argument()destの下で文書化されて

args = parser.parse_args() 
if args.home_path: 
    # Do stuff 

:オプションの引数のアクションについては

destの値は、通常 を推測されますオプション文字列から。 ArgumentParserはの値を で生成し、最初の長いオプション文字列を取り、最初の文字を取り除きます。-- 文字列。長いオプション文字列が指定されていない場合は、最初の短いオプション文字列からを控除して 文字を取り除いてdestを派生させます。内部の-文字は_文字の に変換され、文字列が有効な属性名であることを確認します。