command-line-arguments相关内容

如何创建具有多个位置参数的 argparse 互斥组?

我正在尝试解析命令行参数,以便可能出现以下三种可能性: 脚本脚本文件 1 文件 2 文件 3 …脚本 -p 模式 因此,文件列表是可选的.如果指定了 -p pattern 选项,则命令行上不能有任何其他内容.以“使用"格式说,它可能看起来像这样: script [-p 模式 |文件 [文件...]] 我认为使用 Python 的 argparse 模块的方法是这样的: parser = ..
发布时间:2021-11-17 04:40:31 Python

Python argparse 可选参数仅在输入正确位置时才有效

在我的脚本中,我有 3 个位置参数和 1 个可选参数.三个位置参数之一是必需的,其余是可选的(如使用 narg='?' 指定的那样). 我的可选参数不传递任何其他参数(action ='store_true'),只是为了启用稍后实施的排序. 但是,我的问题是我的可选参数仅在它是脚本调用中的第一个或最后一个参数时才有效. 以下是我目前的脚本: parser = argparse. ..
发布时间:2021-11-17 04:39:46 Python

python3 中的解析器不会通过 argparse 从命令行获取分隔符值

我编写了一个简单的脚本作为满足我的 awk/sed 要求的高级工具.在脚本中,我根据查询文件的一列中的值比较两个文件,然后从主文件中提取整个条目.该脚本允许您输入每个文件的列和分隔符的值. 问题是脚本无法识别命令行中的“分隔符"选项. 这是我的代码(部分): ##- - - - - - - -- - - - - - 参数 - - - - - - - - - - - - -##解析器 ..
发布时间:2021-11-17 04:39:17 Python

Ruby optparse 限制

我目前使用 Python 编写脚本,但出于多种原因我希望尝试 Ruby.上周,我查看了大量示例代码并阅读了大量文档.我担心的一个问题是 Ruby 中缺少正确的命令行参数解析库.Ruby 专家,不要生我的气——也许我不知道.这就是我在这里的原因. 在 Python 中,我习惯于使用 argparse,这在我看来是完美的(也许满足我的需要).不幸的是,OptionParser 不允许 argpa ..
发布时间:2021-11-17 04:38:24 Python

在由多个自定义模块支持的多个脚本中使用 python 的 argparse

我正在构建一组脚本和模块来管理我们的基础设施.为了使事情井井有条,我想尽可能多地整合工作,并尽量减少新脚本的样板. 特别是这里的问题是整合 ArgumentParser 模块. 一个示例结构是让脚本和库像这样组织: |-- bin|-- 脚本1|-- 脚本2|-- 库|-- 记录器|-- lib1|-- lib2 在这种情况下,script1 可能只使用 logger 和 lib1 ..
发布时间:2021-11-17 04:38:15 Python

Python - docopt 和 argparse 之间的区别

我必须编写一个命令行界面,而且我已经看到我可以使用 docopt 和 argparse. 我想知道两者之间的主要区别是什么,以便我做出明智的选择. 请以事实为依据.我不想要哇.医生.如此美丽.非常有用. 解决方案 Docopt 解析文档字符串,而 argparse 通过创建对象实例并通过函数调用向其添加行为来构建其解析. argparse 示例: parser = ar ..
发布时间:2021-11-17 04:36:06 Python

使用 optparse 接受参数的最 Pythonic 方式

我目前有一个 python 文件,它利用 sys.argv[1] 在命令行接受一个字符串.然后它对该字符串执行操作,然后将修改后的字符串返回到命令行. 我想实现一个批处理模式选项,在该选项中我可以提供一个字符串文件(每行一个,fwiw)并将其返回到命令行,以便我可以重定向输出执行类似 $ python script.py -someflag file.txt >修改后的.txt 同时仍保 ..
发布时间:2021-11-17 04:35:52 Python

在 Python 中将 argparse 与 sys.argv 结合使用

我目前有一个脚本,它通过 sys.argv 变量使用文件通配符,如下所示: if len(sys.argv) >1:对于 sys.argv[1:] 中的文件名: 这非常适合处理一堆文件;但是,我也想将它与 argparse 模块一起使用.所以,我希望我的程序能够处理如下内容: foo@bar:~$ myScript.py --filter=xyz *.avi 有没有人尝试过这样做,或者有一 ..
发布时间:2021-11-17 04:35:49 Python

如何使用 Python Argparse 制作所需参数的短版和长版?

我想指定一个名为 inputdir 的必需参数,但我也想要一个名为 i 的速记版本.我没有看到一个简洁的解决方案来做到这一点,而无需同时设置两个可选参数,然后进行我自己的检查.是否有我没有看到的首选做法,或者唯一的方法是将两者都设为可选并自行处理错误? 这是我的代码: 导入 argparse解析器 = argparse.ArgumentParser()parser.add_argument ..
发布时间:2021-11-17 04:34:30 Python

如何禁止两个冲突的选项

有没有办法向 Python 的 ArgumentParser 指定两个可选标志冲突? arg_parser.add_argument('-c', '--clean', action='store_true')arg_parser.add_argument('-d', '--dirty', action='store_true') 我希望用户能够不指定任何一个,或者只指定一个. 是否可以在 ..
发布时间:2021-11-17 04:31:53 Python

仅在参数列表中而不是在其用法中更改 argparse 中的元变量值

我的问题类似于没有重复ALLCAPS的argparse帮助 问题. 虽然我会简要解释那个问题是什么以及我的问题是什么: 我想以与默认 -h,--help 相同的方式显示我的选项的 argparse 帮助,每个选项后没有 ALLCAPS 文本,或者至少没有重复的 CAPS. 例如,使用以下代码: #filename=temp.py导入参数解析p = argparse.Argument ..
发布时间:2021-11-17 04:31:37 Python