小编Fuj*_*Liu的帖子

如何为argparse子命令添加公共参数?

使用argparse时,一些子命令需要相同的选项,我用它parents来避免在每个子命令中重复定义它们.

脚本文件名: testarg.py

import argparse                                                                  

parser = argparse.ArgumentParser(add_help=False)                                 
parser.add_argument('-H', '--host', default='192.168.122.1')                     
parser.add_argument('-P', '--port', default='12345')                             
subparsers = parser.add_subparsers()                                             

# subcommand a                                                                   
parser_a = subparsers.add_parser('a', parents=[parser])                          
parser_a.add_argument('-D', '--daemon', action='store_true')                     

parser_a.add_argument('-L', '--log', default='/tmp/test.log')                    

# subcommand b                                                                   
parser_b = subparsers.add_parser('b', parents=[parser])                          
parser_b.add_argument('-D', '--daemon', action='store_true')                     

# subcommand c                                                                   
parser_c = subparsers.add_parser('c', parents=[parser])                          
args = parser.parse_args()                                                       

print args   
Run Code Online (Sandbox Code Playgroud)

但是当我运行命令时:

>>>./testarg.py a
usage: testarg.py a [-h] [-H HOST] [-P PORT] [-D] [-L LOG] {a,b,c} ...
testarg.py a: error: too few arguments
Run Code Online (Sandbox Code Playgroud)

期待输出:

>>>./testarg.py a
Namespace(daemon=False, …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 argparse

6
推荐指数
2
解决办法
4893
查看次数

用于有效添加括号的 vim 命令

什么是 vim 命令可以有效地将某些内容放入括号中,然后我可以使用.它来重复它??

例如,data['max'](data['max'])

vim

0
推荐指数
1
解决办法
875
查看次数

标签 统计

argparse ×1

python ×1

python-2.7 ×1

vim ×1