python中的可选位置参数

问题描述 投票:0回答:2

我有一个脚本,可以同时使用gui或不使用gui来执行,它具有一些可选参数,例如-g用于选择显示gui,输入路径和输出路径,而该参数都是可选的,我希望它们是可选的当gui激活时,执行不带gui的脚本时非可选。我该如何进行这项工作?

python arguments command-line-arguments argparse
2个回答
0
投票

您可以如下访问command line arguments

import sys 

print("Python Script Name : ", sys.argv[0]) 

print("Arguments passed are")
for i in range(1, len(sys.argv)): 
    print(sys.argv[i]) 

0
投票

我建议以下内容:基于argparse构建选项处理器功能并处理sys.argv(默认值)。但是,让该函数接收一个名为batch_mode的布尔参数,其默认值为False。将batch_mode的值分配给您希望条件有条件的参数“必需”的所有位置(取决于是否调用了GUI)。请注意,此函数应既构造解析器又在sys.argv上使用它。

现在,使用默认值batch_mode运行一次功能。然后,如果指定了-g,请再次运行该函数,仅这次通过batch_mode=True,从而需要所有非GUI参数。当然,这可能需要对该函数进行两次调用,但是所需的额外编码量将很小。

© www.soinside.com 2019 - 2024. All rights reserved.