gpt4 book ai didi

python - 使用特定标志时如何允许省略必需的参数?

转载 作者:行者123 更新时间:2023-12-05 06:47:31 25 4
gpt4 key购买 nike

我的代码如下。

__version__ = 'v10'

class MyHelpFormatter(argparse.ArgumentDefaultsHelpFormatter):
def _get_help_string(self, action):
return action.help

def main():
parser = argparse.ArgumentParser(
formatter_class=MyHelpFormatter,
description=__version__
)

parser.print_usage = parser.print_help

parser.add_argument("file", help="path to file/directory")

parser.add_argument(
"-t",
"--type",
type=str,
default=False,
help="file type",
)

parser.add_argument(
"-c",
"--config",
action="store_true",
help="change custom text",
)

parser.add_argument(
"-v",
"--version",
action='version',
version=__version__,
help="thumb-gen version",
)

在我的代码中,它总是需要"file"参数。没关系。

现在我想在使用“--config”参数调用时调用函数。但是当我运行 main.py --config 时,它还需要"file"参数。

如何在不输入所需参数的情况下使用“-config”参数?

最佳答案

有两种方法可以解决这个问题。首先,您可以将文件参数设为可选。解析完成后,您的代码会检查 --config 标志是否存在——如果不存在,则检查是否给出了文件参数。如果不是,则退出并显示适当的错误消息。

或者,您可以使用两个 解析器。第一个查找 --config 并设置一个标志(例如 do_config = True);它不需要文件参数。然后使用第二个解析器,如果 do_config 为 False,它只需要一个文件参数。

关于python - 使用特定标志时如何允许省略必需的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67094077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com