一个可选参数,不需要位置参数

2024-04-02

我有一个关于 python argparse 的问题:是否可以有一个不需要位置参数的可选参数?

Example:

parser.add_argument('lat', help="latitude")
parser.add_argument('lon', help="longitude")
parser.add_argument('--method', help="calculation method (default: add)", default="add")
parser.add_argument('--list-methods', help="list available methods", action="store_true")

正常的命令行是test.py 47.249 -33.282 or test.py 47.249 -33.282 --method sub。但是一旦我用以下命令调用脚本test.py --list-methods列出所有可用的方法,我得到error: to few arguments。如何使用 argparse 来获得此可选参数(--list-methods)而无需位置参数(lat,lon)?


  • 设置默认值并nargs='?'对于你的立场论点
  • 手动检查您的代码latitude and 经度当您不在时已设置列表方法 mode

    parser = argparse.ArgumentParser()
    
    parser.add_argument('lat', help="latitude",default=None, nargs='?')
    parser.add_argument('lon', help="longitude",default=None, nargs='?')
    parser.add_argument('--method', help="calculation method (default: add)", default="add")
    parser.add_argument('--list-methods', help="list available methods", action="store_true")
    
    args = vars(parser.parse_args())
    
    if not args['list_methods'] and (args['lat'] == None or args['lon'] == None):
        print '%s: error: too few arguments' % sys.argv[0]
        exit(0)
    
    if args['list_methods']:
        print 'list methods here'
    else :
        print 'normal script execution'
    

这使 :

$ test.py --列表方法
在这里列出方法

$ 测试.py 4
test.py:错误:参数太少

测试.py 4 5
正常脚本执行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一个可选参数,不需要位置参数 的相关文章

  • sklearn 估计器管道的参数无效

    我正在实现 O Reilly 书中的一个示例 Python 机器学习简介 使用 Python 2 7 和 sklearn 0 16 我正在使用的代码 pipe make pipeline TfidfVectorizer LogisticRe
  • 键入的完整命令行

    我想获得输入时的完整命令行 This join sys argv 在这里不起作用 删除双引号 另外 我不想重新加入已解析和拆分的内容 有任何想法吗 你太迟了 当键入的命令到达 Python 时 您的 shell 已经发挥了它的魔力 例如 引
  • 如何计算数据框中按另一列的列值分组的一列的连续字符串值?

    我有以下数据框 Levels Labels Confidence 0 Hands 0 8 0 Leg 0 7 0 Eye 0 9 1 Ear 0 9 1 Eye 0 8 2 Hands 0 9 2 Eye 0 8 3 Eye 0 8 我想检
  • 将 Python Pandas DataFrame 写入 Word 文档

    我正在努力创建一个使用 Pandas DataFrames 的 Python 生成的报告 目前我正在使用DataFrame to string 方法 但是 这会作为字符串写入文件 有没有办法让我实现这一目标 同时将其保留为表格 以便我可以使
  • 使用 NumPy 编写一个函数来计算具有特定公差的积分

    我想编写一个自定义函数来以特定容差对表达式 python 或 lambda 函数 进行数字积分 我知道与scipy integrate quad人们可以简单地改变epsabs但我想使用 numpy 自己编写该函数 From 这篇博文 htt
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • 设置高亮大括号的 vim 颜色主题

    如何更改突出显示大括号的 vim 配色方案 我希望实际编辑 vim 主题文件以使更改永久生效 问候 克雷格 匹配括号的自动高亮颜色称为MatchParen 您可以通过执行以下操作来更改 vimrc 中的颜色 highlight MatchP
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • Django 2、python 3.4 无法解码 urlsafe_base64_decode(uidb64)

    我正在尝试通过电子邮件激活用户 电子邮件有效 编码有效 我使用了 django1 11 中的方法 该方法运行成功 在 Django 1 11 中 以下内容成功解码为 28 其中 uidb64 b Mjg force text urlsafe
  • 为什么 Collections.counter 这么慢?

    我正在尝试解决罗莎琳德的基本问题 即计算给定序列中的核苷酸 并在列表中返回结果 对于那些不熟悉生物信息学的人来说 它只是计算字符串中 4 个不同字符 A C G T 出现的次数 我期望collections Counter是最快的方法 首先
  • 无需访问 Internet 即可部署 Django 的简单方法?

    我拥有的是使用 Django 开发的 Intranet 站点的开发版本以及放置在 virtualenv 中的一些外部库 它运行良好 我可以在任何具有互联网连接的计算机上使用相同的参数 使用 pip 轻松设置 virtualenv 但是 不幸
  • python中有没有一种方法可以将存储在列表中的正则表达式模式列表应用到单个字符串?

    我有一个正则表达式模式列表 存储在列表类型中 我想将其应用于字符串 有谁知道一个好方法 将列表中的每个正则表达式模式应用于字符串 和 如果匹配 则调用与列表中该模式关联的不同函数 如果可能的话我想用 python 来做这件事 提前致谢 im
  • Python 相当于 Scala 案例类

    Python 中是否有与 Scala 的 Case Class 等效的东西 就像自动生成分配给字段而无需编写样板的构造函数一样 当前执行此操作的现代方法 从 Python 3 7 开始 是使用数据类 https www python org
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • 如何使用 Python/Django 在 Facebook 中获取(和使用)扩展权限

    我正在尝试编写一个简单的应用程序 让用户授予我的代码写入其页面的 Facebook 流的权限 据我了解 它应该很简单 让用户单击一个按钮 启动一个弹出窗口 其中包含我的 Facebook 应用程序中的页面 在该页面中 他们单击授予的内容流发
  • 在Python中停止ThreadPool中的进程

    我一直在尝试为控制某些硬件的库编写一个交互式包装器 用于 ipython 有些调用对 IO 的影响很大 因此并行执行任务是有意义的 使用 ThreadPool 几乎 效果很好 from multiprocessing pool import

随机推荐

  • 如何在“pytest”框架中的固定装置中的“拆卸”中使用测试结果

    我正在尝试使用测试结果或状态来拆卸夹具 但是如果不使用 pytest 框架中的关键字 yield 我将无法找到代码 import pytest import requests pytest fixture def update result
  • TensorFlow Custom Estimator - 在 model_fn 发生微小变化后恢复模型

    我在用tf estimator Estimator为了开发我的模型 我写了一个model fn并训练了 50 000 次迭代 现在我想对我的model fn 例如添加一个新层 我不想从头开始训练 我想恢复 50 000 个检查点的所有旧变量
  • 如何按值(DESC)然后按键(ASC)对字典进行排序?

    就在发现了惊人的事情之后sorted 我又陷入困境了 问题是我有一本以下形式的字典string key integer value 我需要按整数值的降序对它进行排序 but如果两个元素具有相同的值 则按键的升序排列 一个更清楚的例子 d b
  • Flask Unicode 解码错误

    Error UnicodeDecodeError ascii 编解码器无法解码位置 24 中的字节 0xf0 序数不在范围内 128 所以基本上我有一个 Flask 应用程序 用户填写注册表单并呈现一个新页面 这是代码 render tem
  • 使 UIScrollView 以 UITextView 作为子视图获取触摸事件

    我有一个包含 UITextView 不可编辑 的 UIScrollView 我无法使 UIScrollView 获取触摸事件 UITextView 似乎获取并保留它们 知道如何让 UIScrollView 获取触摸事件吗 我希望 UITex
  • 在元素属性内回显?

    我只是想知道是否可以将 php echo 放入 iframe 中 像这样的东西 如果不是 正确的做法是什么 PHP 的工作方式是在发送 HTML 之前在幕后完成工作 因此当您实际将完整数据发送给用户时 它已被解析为应提供给浏览器的内容 也就
  • Jetpack Compose LargeTopAppBar 显示标题两次

    我正在尝试使用 Scaffold 和 LargeTopAppBar 构建 Jetpack Compose 应用程序 我目前有一个非常简单的 UI 只有 Scaffold 中的 LargeTopAppBar 但是当我运行我的应用程序时 我在屏
  • 使用 XML 和 XSL

    第一次编辑我正在获取Child 1标签以 C 形式放入 DropDownList 请建议用于删除 XML 文件中的父标签及其所有子标签的最佳实践代码 C 例子
  • 从n中生成k个元素的“反灰色”按需组合的算法

    我正在尝试实现一种算法 从一组 n 个元素中获取 k 个元素的所有组合 其中两个连续组合之间的差异最大化 类似于反向格雷码 换句话说 应该对组合进行排序以避免元素连续出现两次 这样就不会不必要地歧视任何元素 理想情况下 该算法也不会预先计算
  • C# 的每个循环按什么顺序迭代 List

    我想知道 C 中的 foreach 循环循环的顺序System Collections Generic List
  • 是否有用于平面度测试的在线算法?

    我知道平面度测试 http en wikipedia org wiki Planarity testing可以在 O v 相当于 O e 因为平面图有 O v 条边 时间内完成 我想知道是否可以在 O 1 摊销时间内在线完成 因为添加每个边
  • 在 MySQL 中使用 NoSQL

    我注意到 MySQL 可以将 Memcached NoSQL 与 InnoDB 结合使用 但我无法检索有关如何使用它的信息 我想与 PHP 一起使用 NoSQL 查询是标准的吗 首先 MySQL从5 6版本开始只支持NoSQL的memcac
  • 在 Django 中创建时将用户添加到组

    仅当创建用户后将该用户的字段指定为 True 时 我才希望将用户添加到组中 创建的每个用户都会有一个与之关联的 用户配置文件 这是实现这样的事情的正确方法吗 模型 py def add group sender instance creat
  • npm run build 不使用代理

    我有一个正在运行的react js应用程序 它使用npm start 使用create react app构建的应用程序 运行 当我尝试运行 npm run build 时 它会构建应用程序 我用它来服务 serve s build l 3
  • LIKE 条件中的多个字符串 - Presto SQL

    我想使用查询表中的列LIKE条件 这工作正常 select from my table where my column LIKE hello 但是 如何在我的数据库中使用多个字符串查询此列LIKE健康 状况 寻找类似的东西 select f
  • Flash 安全错误 #2048:是否有解决方法,或者 Twilio 是否必须更改其元策略?

    我的 Flash Flex 应用程序出现问题 几个月来 它可以从 Twilio 下载文件 但现在我收到以下错误 我不得不删除超链接 所以想象 ttp 实际上是 http 安全错误事件 类型 安全错误 气泡 false 可取消 假事件阶段 2
  • Bash 将 Curl 结果存储到数组中

    我正在运行以下curl命令 results curl USERNAME PASSWORD URL search dates dateFields created from Three Months Ago today repos gener
  • jenkins maven setPerCoreThreadCount

    詹金斯版本 1 538 使用 Maven 3 1 0 工作得很好 使用 Maven 3 2 1 会出现以下错误 Jenkins自己安装了Maven 3 2 1 从Apache下载并解压 怎么了 Parsing POMs maven31 ag
  • Java 中哪个重载会被选择为 null?

    如果我用 Java 写下这一行 JOptionPane showInputDialog null Write something 将调用哪个方法 showInputDialog Component parent Object message
  • 一个可选参数,不需要位置参数

    我有一个关于 python argparse 的问题 是否可以有一个不需要位置参数的可选参数 Example parser add argument lat help latitude parser add argument lon hel