草庐IT

ArgParse

全部标签

python - 带有 argparse 的目录路径类型

我的python脚本需要从命令行传递的目录中读取文件。我已经定义了一个readable_dir类型,如下所示与argparse一起使用,以验证在命令行上传递的目录是否存在且可读。此外,还为目录参数指定了默认值(以下示例中的/tmp/non_existent_dir)。这里的问题是,即使在命令行上显式传入目录参数的情况下,argparse也会在默认值上调用readable_dir()。这会导致脚本崩溃,因为默认路径/tmp/non_existent_dir在命令行上显式传入目录的上下文中不存在。我可以通过不指定默认值并强制此参数来解决此问题,或者将验证推迟到脚本的稍后部分,但这是一个任何

python - 带有 argparse 的目录路径类型

我的python脚本需要从命令行传递的目录中读取文件。我已经定义了一个readable_dir类型,如下所示与argparse一起使用,以验证在命令行上传递的目录是否存在且可读。此外,还为目录参数指定了默认值(以下示例中的/tmp/non_existent_dir)。这里的问题是,即使在命令行上显式传入目录参数的情况下,argparse也会在默认值上调用readable_dir()。这会导致脚本崩溃,因为默认路径/tmp/non_existent_dir在命令行上显式传入目录的上下文中不存在。我可以通过不指定默认值并强制此参数来解决此问题,或者将验证推迟到脚本的稍后部分,但这是一个任何

python - 如何使用 python argparse 解析多个嵌套的子命令?

我正在实现一个具有如下界面的命令行程序:cmd[GLOBAL_OPTIONS]{command[COMMAND_OPTS]}[{command[COMMAND_OPTS]}...]我已经通过argparsedocumentation.我可以使用argparse中的add_argument将GLOBAL_OPTIONS实现为可选参数。而{command[COMMAND_OPTS]}使用Sub-commands.从文档看来我只能有一个子命令。但正如您所见,我必须实现一个或多个子命令。使用argparse解析此类命令行参数的最佳方法是什么? 最佳答案

python - 如何使用 python argparse 解析多个嵌套的子命令?

我正在实现一个具有如下界面的命令行程序:cmd[GLOBAL_OPTIONS]{command[COMMAND_OPTS]}[{command[COMMAND_OPTS]}...]我已经通过argparsedocumentation.我可以使用argparse中的add_argument将GLOBAL_OPTIONS实现为可选参数。而{command[COMMAND_OPTS]}使用Sub-commands.从文档看来我只能有一个子命令。但正如您所见,我必须实现一个或多个子命令。使用argparse解析此类命令行参数的最佳方法是什么? 最佳答案

python argh/argparse : How can I pass a list as a command-line argument?

我正在尝试使用argh库将参数列表传递给python脚本。可以接受如下输入的东西:./my_script.pymy-func--argAblah--argB1234./my_script.pymy-func--argAblah--argB1./my_script.pymy-func--argAblah--argB我的内部代码如下所示:importargh@argh.arg('--argA',default="bleh",help='Myfirstarg')@argh.arg('--argB',default=[],help='Alist-typearg--exceptit\'snot!

python argh/argparse : How can I pass a list as a command-line argument?

我正在尝试使用argh库将参数列表传递给python脚本。可以接受如下输入的东西:./my_script.pymy-func--argAblah--argB1234./my_script.pymy-func--argAblah--argB1./my_script.pymy-func--argAblah--argB我的内部代码如下所示:importargh@argh.arg('--argA',default="bleh",help='Myfirstarg')@argh.arg('--argB',default=[],help='Alist-typearg--exceptit\'snot!

python - 在 Python 的命令行中允许覆盖配置选项的最佳方法是什么?

我有一个Python应用程序,它需要很多(约30个)配置参数。到目前为止,我使用OptionParser类在应用程序本身中定义默认值,并可以在调用应用程序时在命令行中更改各个参数。现在我想使用“正确的”配置文件,例如来自ConfigParser类。同时,用户应该仍然可以在命令行中更改个别参数。我想知道是否有任何方法可以将这两个步骤结合起来,例如使用optparse(或更新的argparse)来处理命令行选项,但从ConfigParse语法中的配置文件中读取默认值。任何想法如何以简单的方式做到这一点?我真的不喜欢手动调用ConfigParse,然后手动将所有选项的所有默认值设置为适当的值

python - 在 Python 的命令行中允许覆盖配置选项的最佳方法是什么?

我有一个Python应用程序,它需要很多(约30个)配置参数。到目前为止,我使用OptionParser类在应用程序本身中定义默认值,并可以在调用应用程序时在命令行中更改各个参数。现在我想使用“正确的”配置文件,例如来自ConfigParser类。同时,用户应该仍然可以在命令行中更改个别参数。我想知道是否有任何方法可以将这两个步骤结合起来,例如使用optparse(或更新的argparse)来处理命令行选项,但从ConfigParse语法中的配置文件中读取默认值。任何想法如何以简单的方式做到这一点?我真的不喜欢手动调用ConfigParse,然后手动将所有选项的所有默认值设置为适当的值

python - 如何使没有前缀的python argparse互斥组参数?

Python2.7argparse只接受互斥组中的可选参数(前缀):parser=argparse.ArgumentParser(prog='mydaemon')action=parser.add_mutually_exclusive_group(required=True)action.add_argument('--start',action='store_true',help='Starts%(prog)sdaemon')action.add_argument('--stop',action='store_true',help='Stops%(prog)sdaemon')acti

python - 如何使没有前缀的python argparse互斥组参数?

Python2.7argparse只接受互斥组中的可选参数(前缀):parser=argparse.ArgumentParser(prog='mydaemon')action=parser.add_mutually_exclusive_group(required=True)action.add_argument('--start',action='store_true',help='Starts%(prog)sdaemon')action.add_argument('--stop',action='store_true',help='Stops%(prog)sdaemon')acti