我的代码如下
__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”参数
有两种方法可以解决这个问题。首先,可以将file参数设置为可选。解析完成后,代码将检查
config
标志是否存在――如果不存在,则检查是否给出了file参数。如果没有,请退出并显示相应的错误消息或者,您可以使用两个解析器。第一个查找
config
并设置一个标志(例如do_config = True
);它不需要文件参数。然后使用第二个解析器,如果do_config
为False,则只需要一个文件参数相关问题 更多 >
编程相关推荐