-
默認參數
ArgumentParser.set_defaults(**kwargs)
set_defaults()可以設置一些參數的默認值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('foo', type=int) >>> parser.set_defaults(bar=123, baz='test') >>> parser.parse_args(['456']) Namespace(bar=123, baz='test', foo=456)
解析器級別的默認值會覆蓋參數級別的默認值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', default='bar') >>> parser.set_defaults(foo='test') >>> parser.parse_args([]) Namespace(foo='test')
get_defaults()方法可以獲取add_argument()和set_defaults()中設置的默認值
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', default='bar') >>> parser.set_defaults(air='test') >>> parser.get_default('air') 'test' >>> parser.get_default('foo') 'bar'
-
參數部分使用
如果腳本只使用所傳參數中的幾個參數,要把其他的參數傳給其他腳本,可以使用parse_known_args()方法
ArgumentParser.parse_known_args(args=None, namespace=None)
它的工作方式與parse_args()非常相似,只是在出現額外的參數時不會產生錯誤,而是返回一個包含填充名稱空間和剩余參數字符串的元組和列表
import argparse parser = argparse.ArgumentParser() parser.add_argument('bar') parser.add_argument('-t','--thread') args = parser.parse_known_args() if args: print(args)
運行結果
前綴匹配規則適用於parse_known_args()
-
打印幫助
ArgumentParser.parse_args()
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('bar') >>> parser.parse_args() usage: [-h] bar : error: the following arguments are required: bar
還有幾種格式化的方法
ArgumentParser.print_usage(file=None)
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo') >>> parser.print_usage() usage: [-h] [--foo FOO]
如果文件是None,則為sys.stdout
ArgumentParser.print_help(file=None)
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo') >>> parser.print_help() usage: [-h] [--foo FOO] optional arguments: -h, --help show this help message and exit --foo FOO
如果文件是None,則為sys.stdout
ArgumentParser.format_usage()
返回一個字符串,而不是打印,其中包含如何在命令行上調用ArgumentParser的簡要說明
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo') >>> parser.format_usage() 'usage: [-h] [--foo FOO]\n'
ArgumentParser.format_help()
返回一個包含幫助信息的字符串,包括程序用法以及有關使用ArgumentParser的參數信息
>>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo') >>> parser.format_help() 'usage: [-h] [--foo FOO]\n\noptional arguments:\n -h, --help show this help message and exit\n --foo FOO\n'
-
退出方法
ArgumentParser.exit(status=0, message=None)
>>> import argparse >>> parser = argparse.ArgumentParser() >>> parser.exit(message='test') test
然后腳本就直接退出了
ArgumentParser.error(message)
>>> parser = argparse.ArgumentParser() >>> parser.error(message='run error') usage: [-h] : error: run error
打印完錯誤信息后腳本就直接退出了