如何使用 argparse 创建“对列表”类型的参数?

2023-11-24

我需要让 python 脚本的最终用户输入如下内容:

script.py -sizes <2,2> <3,3> <6,6>

其中的每个元素-sizes选项是一对两个正整数。我怎样才能做到这一点argparse ?


定义自定义类型:

def pair(arg):
    # For simplity, assume arg is a pair of integers
    # separated by a comma. If you want to do more
    # validation, raise argparse.ArgumentError if you
    # encounter a problem.
    return [int(x) for x in arg.split(',')]

然后使用它作为常规参数的类型:

p.add_argument('--sizes', type=pair, nargs='+')

Then

>>> p.parse_args('--sizes 1,3 4,6'.split())
Namespace(sizes=[[1, 3], [4, 6]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 argparse 创建“对列表”类型的参数? 的相关文章

随机推荐

  • 使用较小的默认对齐方式重载 new 运算符

    C 17 引入过度对齐数据的动态内存分配 除了现有的std max align t 基本对齐 它补充说 STDCPP DEFAULT NEW ALIGNMENT 运算符 new 保证的最小对齐 通过 MSVC2017 64 位编译 这些常量
  • 如何使用 Apache POI 读取具有日期的 Excel 单元格?

    我正在使用 Apache POI 3 6 我想读取一个具有如下日期的 Excel 文件8 23 1991 switch cell getCellType case HSSFCell CELL TYPE NUMERIC value NUMER
  • 将 Quartz.Net 与 UI 相结合

    我一直在从事 MVC3 项目 我刚刚在我的应用程序中使用 Quartz Net 创建了示例电子邮件发送作业 这次 我需要在我的MVC3项目中构建一个作业调度系统 该场景完全基于 UI 这意味着 系统用户必须通过 UI 输入调度频率 例如定义
  • Petri网绘图和代码生成

    是否有任何软件可以绘制 Petri 网并从那里生成任何源代码 源代码可以采用任何已知的编程语言 稍微不太理想的选择是以某种开放格式 例如 XML 或任何其他数据语言 在基于文本的文件中输出仅包含 Petri 网图描述的文件 然后我可以自己编
  • 向累积图添加 95% 置信限

    我想使用 R 添加一条抛物线 表示 95 的置信极限到这个抛硬币图 x lt sample c 1 1 60000 replace TRUE plot ts cumsum x ylim c 250 250 Here is an exampl
  • AttributeError:模块“os”没有属性“uname”

    当我做 gt gt gt import os gt gt gt os uname 我收到一个属性错误 如下所示 Traceback most recent call last File
  • 如何处理python请求中的401(未经授权)

    我想要做的是从站点获取 如果该请求返回 401 则重做我的身份验证摆动 可能已过时 并重试 但我不想尝试第三次 因为那将是我的身份验证摇摆不定的凭证 有没有人有一个很好的方法来做到这一点 并且不涉及丑陋的代码 最好是在 python req
  • Python:Xlib——如何升起(置顶)窗口?

    我尝试过使用 win configure stack mode X TopIf win set input focus X RevertToParent X CurrentTime 然而 即使我的窗口管理器上没有任何焦点丢失预防措施 这也不
  • 是否可以在ios 9中获取wifi信号强度

    我想检查 WIFI 信号强度 以便在 WIFI 信号弱时显示某种消息 我发现在 iOS 8 及更早版本中这是不可能的 iOS 9 中可以获取 wifi 信号强度吗 如果答案是肯定的那么如何 是的 在 iOS 9 中是可能的 查看一下NE热点
  • Oreo 版本问题不支持此图像的编辑

    Oreo 版本问题中的此图像不支持编辑 此图像不支持编辑 当从 Oreo 版本移动设备中的图库中选择图像时 会显示此 Toast 我已经问过这个问题了 但没有人回复我 请检查我的代码并尽快恢复 这是我的代码 Override public
  • 使用 pyinotify 监视文件创建,但等待它完全写入磁盘

    我正在使用 pyinotify 来监视文件夹中何时创建文件 当创建某些文件时 我想移动它们 问题是 一旦创建文件 显然 我的程序就会尝试移动它 甚至在它完全写入磁盘之前 有没有办法让 pyinotify 等到文件完全写入磁盘后再通知我它已创
  • CSS 在 Chrome 中不起作用

    我正在处理的网站的此页面未加载 CSS http www thesanfordcenter net sanford center 它只发生在 Chrome 中 但不是缓存问题 因为同样的问题也发生在另一台计算机上的 Chrome 中 并且我
  • 将隐式 ExecutionContext 传递给包含的对象/调用的方法

    我正在使用 Scala 2 10 futures 创建一个异步库 库的构造函数采用一系列实现特定特征的用户定义对象 然后库类上的方法将一些数据逐一发送到用户定义的对象中 我希望用户提供ExecutionContext用于设置主实例时的异步操
  • LINQ/Lambda 相当于 SQL

    我有一个 IEnumerable 其中包含带有 id 的对象列表 我想选择那些 ID 为 1 2 7 8 9 10 和 11 的对象 我不知道等效 SQL 语句的 LINQ Lambda 等效项 select where id in 1 2
  • 从 WebView 启动自定义 Android 应用程序

    我有一个 HTML 文件 如果我在 Android 本机浏览器中打开它 它就会启动一个应用程序 但是当我尝试在 WebView 中打开相同的应用程序时 它无法启动该应用程序 并且显示 网页不可用 我认为我的 WebView 无法处理为应用程
  • JSF、RichFaces、分页

    我知道这里有很多关于 JSF 分页的帖子 但没有一个让我满意 为了将相当大的数据分割成页面 我将使用 RichFaces 数据滚动器组件 它似乎适合于此 但看起来它是 人工 分页的 我不喜欢这里的是它加载所有数据 然后只显示其中的一部分 至
  • 动态解析逻辑运算 - AND、OR、循环条件

    我有一个传入记录过滤器 存储有逻辑子句 如下所示 Acct1 Y AND Acct2 N AND Acct3 N AND Acct4 N AND Acct5 N AND Acct6 N OR Acct7 N AND Acct1 Y AND
  • f() 和 (f()) 之间有什么区别吗?

    之间有任何区别 var myfunc function return function and var myfunc function return function 这只是风格问题还是第一种形式中的 周围还有更多内容 没有 或者至少在你的
  • 透明背景与 Three.js

    代码有效 但我在使用 Three js 设置画布透明背景时遇到问题 我用 Background renderer setClearColor 0xffffff 0 但随后背景变黑 如何将其更改为透明 代码 var camera scene
  • 如何使用 argparse 创建“对列表”类型的参数?

    我需要让 python 脚本的最终用户输入如下内容 script py sizes lt 2 2 gt lt 3 3 gt lt 6 6 gt 其中的每个元素 sizes选项是一对两个正整数 我怎样才能做到这一点argparse 定义自定义