argparse相关内容

如何以可移植的方式本地化 argparse 生成的消息?

上下文: 我正在开发一个小模块,根据它们的 exif 时间戳自动重命名目录中的照片(目标:轻松混合来自不同相机或智能手机的图片).它可以作为 Python 包顺利运行,也可以通过使用 argparse 的小包装器直接从命令行运行. 而且我刚刚有了将它本地化为非英语语言的(相当愚蠢的)想法.好吧,gettext 是我所有自己代码的朋友,但是当我谈到 agparse 生成的消息时,我发现自 ..
发布时间:2021-11-17 04:47:59 Python

在 argparse 中未设置 optinal 时如何采用两个位置参数

我想编写一个 argparse 命令,当我没有设置可选参数时,它需要两个位置参数.在我的情况下,就像我想用两个必要的参数调用它,但是当我说 python3 test.py -gui 我希望你不需要这两个参数,因为那样你正在使用 gui. 谢谢 解决方案 这是我在评论中提出的: 导入 argparse解析器 = argparse.ArgumentParser()parser.add_ ..
发布时间:2021-11-17 04:47:53 Python

Python 使用 argparse 多次使用不同的选项

我正在开发一个自定义 Nagios 脚本,我想在其中使用与现有 Nagios 插件 check_disk 相同的方式来解析命令行参数. 在该插件中,您有一个选项参数 -C 可以Clear 当前配置并使用新参数重新开始. 摘自check_disk帮助: check_disk -w 100 -c 50 -C -w 1000 -c 500 -p/foo -C -w 5% -c 3% -p/ ..
发布时间:2021-11-17 04:47:50 Python

Argparse,处理可重复的项目集

是否可以创建一组相关且可重复的可选参数? 假设我有三个参数 -a, -b, -c 组成一个集合, -a 是必需的,但 -b 和 -c 是可选的.(更新) 我希望能够指定多组这些. Script.py -a 1 -b 2 -c 3 -a 4 -c 6 -a 7 -b 8 -a 10 这将被解析为一个字典列表,如下 [{“a":1,“b":2,“c":3},{"a":4, "c":6 ..
发布时间:2021-11-17 04:47:47 Python

Python argparse,运行一个或多个子命令

我正在尝试编写一个能够执行多个子命令的程序.argparse 模块非常有用,但我认为它缺乏指定多个子命令的能力.例如,如果我有以下代码: parser = argparse.ArgumentParser(prog='My Prog')sub_parsers = parser.add_subparsers()subcommand_a = sub_parsers.add_parser('subcom ..
发布时间:2021-11-17 04:47:44 Python

Python argparse 需要选项,取决于定义的标志

我有一个小的 python 脚本,它使用 argparse 让用户定义选项.它为不同的模式使用两个标志和一个让用户定义文件的参数.请参阅下面的简化示例: #!/usr/bin/python3导入参数解析从 Shutil 导入复制文件def check_file(f):# Mock 函数:检查文件是否存在,否则 "argparse.ArgumentTypeError("file not found ..

Python argparse:它必须返回一个列表吗?

我正在尝试从 argparse 获取一串数字.是否提供参数 -n 是可选的. 导入 argparse解析器 = argparse.ArgumentParser()parser.add_argument('-n', nargs=1) # -n 是可选的,但必须带有一个且只有一个参数args = parser.parse_args()测试 = args.n如果测试!= '无':打印(“嗨"+测试) ..
发布时间:2021-11-17 04:47:35 Python

如何从 ArgumentParser 实例中列出所有已注册的参数?

找不到任何现有的方法,所以我想知道是否有黑客攻击? 解决方案 有一个 hack;您可以使用未记录的属性 parser._actions 列出所有已注册的操作: >>>导入参数解析>>>解析器 = argparse.ArgumentParser()>>>parser.add_argument('--foo')_StoreAction(option_strings=['--foo'], de ..
发布时间:2021-11-17 04:47:33 Python

Python argparse如果不是int则跳过

我想要 3 个可选的位置参数(int、int、str). 我想要的: $ ./args.py 0 100 视频开始=0结束=100视频='视频'$ ./args.py 0 100开始=0结束=100视频=无$ ./args.py 0开始=0结束=无视频=无$ ./args.py 视频开始=无结束=无视频='视频'$ ./args.py开始=无结束=无视频=无 我尝试过的: #!/usr ..
发布时间:2021-11-17 04:47:26 Python

在解析器/子解析器的开头使用 argparse.REMAINDER

我想实现一个 arg 解析器,它允许我将单元测试作为子命令之一运行,盲目地将参数传递给 unittest.main().例如, $ foo.py unittest [传递给 unittest.main() 的参数] 连同其他子命令: $ foo.py foo ...$ foo.py 栏... 按照 argparse 的例子,这是有效的: #!/usr/bin/python导入参数解析p ..
发布时间:2021-11-17 04:47:23 Python

如何创建可选的参数?

不是用户必须使用 script.py --file c:/stuff/file.txt 有没有办法让用户选择性地使用 --file?因此,它看起来像 script.py c:/stuff/file.txt,但解析器仍然知道用户指的是 --file 参数(因为它是隐含的).> 解决方案 试试这个 导入 argparse类 DoNotReplaceAction(argparse.Action): ..
发布时间:2021-11-17 04:47:20 Python

Python argparse:它必须返回一个列表吗?

我正在尝试从 argparse 获取一串数字.是否提供参数 -n 是可选的. 导入 argparse解析器 = argparse.ArgumentParser()parser.add_argument('-n', nargs=1) # -n 是可选的,但必须带有一个且只有一个参数args = parser.parse_args()测试 = args.n如果测试!= '无':打印(“嗨"+测试) ..
发布时间:2021-11-17 04:47:11 Python

需要 python argparse add_argument_group

在这个问题中 argparse:需要两个参数之一 我找到了我想要的解决方案的参考,但它不正确. 我需要至少提供 2 个选项中的 1 个,option1、option2 或两者... add_argument_group 函数没有必需的参数.add_mutually_exclusive 函数有它,但它迫使我在 2 个选项之间进行选择,这不是我想要的. rds, 解 ..
发布时间:2021-11-17 04:47:08 其他开发

如何从 ArgumentParser 实例中列出所有已注册的参数?

找不到任何现有的方法,所以我想知道是否有黑客攻击? 解决方案 有一个 hack;您可以使用未记录的属性 parser._actions 列出所有已注册的操作: >>>导入参数解析>>>解析器 = argparse.ArgumentParser()>>>parser.add_argument('--foo')_StoreAction(option_strings=['--foo'], de ..
发布时间:2021-11-17 04:47:05 Python

用于组合其他选项的 Argparse 快捷选项

假设我有一个输入文件选项和一个输出文件选项.我怎样才能创建一个结合这两者的选项?例如: $ ./my_script.py -i input.txt -o output.txt 可以组合为: $ ./my_script.py --io input_output.txt 你可能会说我可以用 -io 来组合这两个选项,但是 -io filename 是 -i -o filename 的快捷方式> ..
发布时间:2021-11-17 04:47:02 Python