Python,argparse:如何使 nargs=2 与 type=str 和 type=int

2023-12-19

我花了一些时间在 argparse 文档上,但我仍然在为我的程序中的一个选项使用这个模块而苦苦挣扎:

parser.add_argument("-r", "--rmsd", dest="rmsd", nargs=2,
    help="extract the poses that are close from a ref according RMSD",
    metavar=("ref","rmsd"))

我希望第一个参数是一个字符串(类型str)并且是强制性的,而第二个参数应该具有类型int,如果没有给出值,则有一个默认值(假设default=50)。我知道当只有一个参数时该怎么做,但我不知道当 nargs=2 时如何继续......这可能吗?


您可以执行以下操作。这required关键字将字段设置为必填字段,并且default=50如果未指定,则将该选项的默认值设置为 50:

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("-s", "--string", type=str, required=True)
parser.add_argument("-i", "--integer", type=int, default=50)

args = parser.parse_args()    
print args.string
print args.integer

Output:

$ python arg_parser.py -s test_string
    test_string
    50
$ python arg_parser.py -s test_string -i 100
    test_string
    100
$ python arg_parser.py -i 100
    usage: arg_parser.py [-h] -s STRING [-i INTEGER]
    arg_parser.py: error: argument -s/--string is required
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python,argparse:如何使 nargs=2 与 type=str 和 type=int 的相关文章

  • 如何实现 __eq__ 进行集合包含测试?

    我遇到了一个问题 我将一个实例添加到一个集合中 然后进行测试以查看该对象是否存在于该集合中 我已经覆盖了 eq 但在包含测试期间不会调用它 我必须覆盖吗 hash 反而 如果是这样 我将如何实施 hash 鉴于我需要对元组 列表和字典进行哈
  • MANIFEST.in、package_data 和 data_files 澄清吗?

    我正在尝试创建一个 Python 包 并且目录结构如下 mypkg init py module1 x py y py z txt module2 a py b py 然后我将所有文件添加到MANIFEST in当我检查创建的存档时 它包含
  • 在 pandas 中单独打印一列的原始值?

    我有一个数据框 df pd DataFrame name george age 23 name anna age 26 现在我想检索乔治的年龄 df df name george age 但这会输出一些额外的信息以及原始值 0 23 Nam
  • 使用应用程序脚本将 MS Word 文件(保存在云端硬盘中)转换为 Google 文档

    我被某些事情困住了 找不到解决办法 有没有办法使用文件 url 或 id 将存储在 Google Drive 中的 MS Word 文件转换为 Google 文档 我目前有一个电子表格 其中包含文件的网址 或者 也可以使用 python 脚
  • Tipfy:如何在模板中显示blob?

    鉴于在 gae 上使用tipfy http www tipfy org python 以下模型 greeting avatar db Blob avatar 显示 blob 此处为图像 的模板标签是什么 在这种情况下 斑点是一个图像 这很棒
  • 将一维数组转换为下三角矩阵

    我想将一维数组转换为较低的零对角矩阵 同时保留所有数字 我知道numpy tril函数 但它用零替换了一些元素 我需要扩展矩阵以包含所有原始数字 例如 10 20 40 46 33 14 12 46 52 30 59 18 11 22 30
  • Python——捕获异常的效率[重复]

    这个问题在这里已经有答案了 可能的重复 Python 常见问题解答 异常有多快 https stackoverflow com questions 8107695 python faq how fast are exceptions 我记得
  • Pandas:将 pytz.FixedOffset 应用于系列

    我有一个带有timestamp列看起来像这样 0 2020 01 26 05 00 00 08 00 1 2020 01 26 06 00 00 08 00 Name timestamp dtype datetime64 ns pytz F
  • 如何正确导入主代码和模块中同时使用的模块?

    假设我有一个主脚本 main py 它导入另一个 python 文件import coolfunctions另一个 import chores 现在 假设 Coolfunctions 也使用家务活中的东西 因此我声明import chore
  • 为什么 __instancecheck__ 没有被调用?

    我有以下 python3 代码 class BaseTypeClass type def new cls name bases namespace kwd result type new cls name bases namespace p
  • 在seaborn中对箱线图x轴进行排序

    我的数据框round data看起来像这样 error username task path 0 0 02 n49vq14uhvy93i5uw33tf7s1ei07vngozrzlsr6q6cnh8w 39 png 1 0 10 n49vq
  • 根据列索引重命名 Dataframe 列

    是否有内置函数可以按索引重命名 pandas 数据框 我以为我知道列标题的名称 但事实证明第二列中有一些十六进制字符 根据我接收数据的方式 我将来可能会在第 2 列中遇到这个问题 因此我无法将这些特定的十六进制字符硬编码到 datafram
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • 更换壳牌管道[重复]

    这个问题在这里已经有答案了 在 subprocess 模块的 Python 2 7 文档中 我找到了以下片段 p1 Popen dmesg stdout PIPE p2 Popen grep hda stdin p1 stdout stdo
  • python dicttoxml 多次使用相同的键

    我正在尝试做如下所示的 xml
  • 在 Python 中访问 argparse 的参数值

    我正在尝试为我的程序设置一些简单的标志参数 但无法弄清楚如何访问它们 我有 argparser parser argparse ArgumentParser description Simple PostScript Interpreter
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • Pip 无法在 Windows 上安装 Twisted

    我正在尝试在 Windows 8 计算机上安装 Twisted 在 Twisted 官方网站上 只有一个 Windows 版的 Wheel 文件 https twistedmatrix com trac wiki Downloads htt
  • 如何更改matplotlib中双头注释的头大小?

    Below figure shows the plot of which arrow head is very small 我尝试了下面的代码 但它不起作用 它说 引发 AttributeError 未知属性 s k 属性错误 未知属性头宽
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装

随机推荐

  • 如何获取 EnvDte.ActiveDocument 的 IWpfTextView?

    我正在尝试操纵 Visual Studio 文本编辑器滚动条值 问题是我只有 dte ActiveDocument 并且无法从那里执行此操作 当 VS 启动并且我捕获 dte Events CommandEvents 时 我的扩展仅加载一次
  • Angularjs 'FileConstructor 不是构造函数'

    问题 错误 FileConstructor 不是构造函数 评估 new 文件 blob 文件名 png 我看到这个问题Safari 的 File 构造函数的替代方案 https stackoverflow com questions 338
  • 返回 pandas DF 列,其中包含索引和今天日期之间经过的天数

    我有一个以日期作为索引的 dF 我想添加一个新列 delta 它显示索引中的日期与今天的日期之间的天数 I have dF today 2015 01 30 dF today pd to datetime dF today dF tvalu
  • mongodb如何从集合中获取最大值

    我有一个 mongodb 集合 例如 db kids find results name tom age 10 name alice age 12 我需要一个查询来从此集合中获取 MAX age 就像 SQL 中一样 SELECT MAX
  • 快速检查长整型是否为立方体的方法(Java 中)

    我正在编写一个程序 其中需要检查某些大数 立方体的排列 是否是三次方 对于某些n等于n 3 目前我只是使用该方法 static boolean isCube long input double cubeRoot Math pow input
  • 是否可以通过 RDCOM 发送可视化结果?

    我对 R 编程相对较新 并且已经开展了一个小项目来向 R 世界介绍自己 我想做的是帮助我的一位同事自动化他每周都会执行的手动电子邮件流程 该电子邮件包含用 Excel 创建的图表 DOW 指数价格 我们公司的股票价格以及他每周手动更新的一些
  • 使用 Sed 将旧时间戳替换为当前时间戳

    我想使用 Sed 在 template php 文件中查找 JS 文件名称的 unix 时间戳部分 并将其替换为当前时间戳 旧时间戳会有所不同 因此我需要一个正则表达式来匹配数字 这是我到目前为止所拥有的 TimPeterson curre
  • C# 中修饰符的顺序有约定吗?

    如果我要使用多个修饰符关键字 我应该按什么顺序使用 例如 public private protected virtual abstract override new static internal sealed 以及我忘记的任何其他人 我
  • 为什么 OpenXML 读取行两次

    我计算两个工作表中的行数 如下所示 foreach WorksheetPart worksheetPart in workbookPart WorksheetParts OpenXmlPartReader reader new OpenXm
  • 当 selectedItem 为 null 时,在 Combobox 中显示“选择一项”

    我有一个绑定到 viewModel 对象列表的 WPF 组合框 最初 SelectedItem 为空 因此组合框显示为空白 当所选项目为空时 我希望组合框显示 选择项目 以引导用户从组合框中选择某些内容 有点像这样 一些文本框包含灰色文本
  • Flexbox 中的行换行中心对齐

    目前 我正在尝试使用 Flexbox 将列居中 但当我调整浏览器大小时 它会粘在左侧 我尝试过调整内容中心和对齐项目中心 但我可能没有将它们放在正确的位置 如果有人知道如何解决这个问题 将不胜感激 谢谢你 wrap display flex
  • 无法完成交付

    我在尝试完成已发布的交付时收到以下错误 我可以从目标网站做些什么吗 cleartool Error Unable to check out vobs amit sumit lost found pcs i ltf odfc set sftp
  • 如何使用 javaparser 获取类级别变量声明?

    我只想获取类级别的变量声明 如何使用 javaparser 获取声明 public class Login private Keyword browser private String pageTitle Login 使用javaparse
  • 为 GridView 添加捏缩放功能

    我需要为该 gridview 添加捏缩放 我没有找到任何有关在 gridview 中添加捏缩放的示例 到目前为止 我的布局如下所示 我需要向该 gridview 添加捏缩放 活动 main xml
  • 张量流中的CUDA_ERROR_OUT_OF_MEMORY

    当我开始训练一些神经网络时 它满足了CUDA ERROR OUT OF MEMORY但训练可以继续进行 不会出现错误 因为我想根据实际需要使用GPU内存 所以我设置了gpu options allow growth True 日志如下 I
  • 如何超链接到 .ppt 文件的特定幻灯片?

    我想链接到在线 PowerPoint 文件中的特定幻灯片 例如http www example com hello ppt 但我想要的是 当人们点击我的链接时 它会直接转到第 n 张幻灯片 这可能吗 Link to http www wha
  • html2canvas 不渲染 CDN 图像

    我正在尝试使用 html2canvas 获取屏幕截图 它对于文本工作正常 但它不渲染 CDN 图像 如果我在服务器中托管图像 它工作正常 但如果尝试从 CDN 链接加载图像 则这些图像不会渲染 我的代码是 索引 php div img sr
  • 从 Android 应用程序共享图像

    我正在尝试分享我的 Android 应用程序中的图像 我正在尝试将其作为电子邮件附件以及 WhatsApp 上的照片发送 代码是 String imageUrl Path to image eg sdcard pictures image1
  • 在 Django 数据库中存储整数数组

    在 django 数据库中存储整数数组的最佳方法是什么 我正在使用数组字段 https docs djangoproject com en 2 1 ref contrib postgres fields querying arrayfiel
  • Python,argparse:如何使 nargs=2 与 type=str 和 type=int

    我花了一些时间在 argparse 文档上 但我仍然在为我的程序中的一个选项使用这个模块而苦苦挣扎 parser add argument r rmsd dest rmsd nargs 2 help extract the poses th