我想用这种行为构建一个程序:
用法:鼠尾草4ct.py[-h](-r r |-i i |-p p)[-o o]
但是如果你不给任何参数,我希望使用“-r100”作为默认值。在
有可能吗?在
parser = argparse.ArgumentParser(description = '4ct args')
group_input = parser.add_mutually_exclusive_group(required = True)
group_input.add_argument("-r", "-random", help = "Random graph: dual of a triangulation of N vertices", nargs = 1, type = int, default = 100)
group_input.add_argument("-i", "-input", help = "Input edgelist filename (networkx)", nargs = 1)
group_input.add_argument("-p", "-planar", help = "Load a planar embedding of the graph G.faces() - Automatically saved at each run: input_planar_file.serialized", nargs = 1)
parser.add_argument("-o", "-output", help="Output edgelist filename (networkx)", nargs = 1, required = False)
args = parser.parse_args()
只需删除
add_mutually_exclusive_group
函数调用的required
参数(或将其设置为False),就完成了:如您所见,
random
选项默认为100,即使:output
选项,这似乎很正常random
的选项,这可能会有问题。如果random
是唯一一个有值的独占选项,则必须在考虑它之前签入代码。在此示例还包括对选项解析器的一些微小改进:
nargs=1
,这将使您检索一个值的列表。通过删除它,可以直接检索值。在请尝试以下操作:
实际上,您正在检查是否有任何命令行参数被给定,如果没有,则附加所需的
-r 100
相关问题 更多 >
编程相关推荐