Python。 argparse。删除不需要的参数

2024-03-28

我正在解析一些命令行参数,其中大多数需要传递给方法,但不是全部。

parser = argparse.ArgumentParser()
parser.add_argument("-d", "--dir", help = "Directory name", type = str, default = "backups")
parser.add_argument("-n", "--dbname", help = "Name of the database", type = str, default = "dmitrii")
parser.add_argument("-p", "--password", help = "Database password", type = str, default = "1123581321")
parser.add_argument("-u", "--user", help = "Database username", type = str, default = "Dmitriy")
parser.add_argument("-a", "--archive", help = "Archive backup", action="store_true")
args = parser.parse_args()

backup(**vars(args)) # the method where i need to pass most of the arguments, except archive. Now it passes all.

创建一个没有该键的新字典:

new_args = dict(k, v for k, v in args.items() if k != 'archive')

或者从原始字典中删除该键:

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

Python。 argparse。删除不需要的参数 的相关文章

随机推荐

  • Android ListView:获取可见项的数据索引

    我有一个安卓ListView创建与SimpleAdapter里面的项目多于屏幕所能容纳的项目 滚动列表后 我需要获取列表中第一个可见项目在数据模型中的位置 基本上我想要一个像这样的函数 listView getChildAt 0 getPo
  • 使用javascript比较路径并获取两个文件之间的相对路径

    如何动态比较同一域中的两个路径并获取它们之间的相对路径 var path2 http site net test1 test2 img 1 jpg test example var path3 http site net test1 img
  • .NET 4.5 MethodInfo 序列化重大更改

    问题 一个对象 带有私有MethodInfo使用程序集 1 0 版本序列化的字段 不会使用该程序集的 1 1 版本 aSerializationException将被抛出 因为尚未找到所需的方法 发生了什么变化 我发现 NET 4 5中的序
  • python pyaudio 使用多处理

    我正在尝试从音频流中获取样本并将它们放入共享队列中 我有另一个进程从该队列中提取 当我运行时 我收到此错误 recording Traceback most recent call last File record py line 43 i
  • 消息队列 makefile 错误:未定义对“mq_open”的引用

    虽然我已经链接了 lrt在我的 Makefile 中 正如你在下面看到的 我仍然得到undefined reference to mq open 请帮忙 all get1 iserv1 get get1 c gcc Wall o get1
  • java.time.Period ,除以周期会给出错误的结果

    我尝试使用java time Period 结果和我手工计算的结果相差了三天 这里奇怪的是 当我将时间段分为两个时间段时 结果与我的手动计算相符 第二种方法就像我手动计算周期一样 我是否错过了什么 日历算术有标准方法或算法吗 使用的算法是什
  • “没有这样的文件或目录”但它存在

    我只想从命令行运行可执行文件 arm mingw32ce g 但随后我收到错误消息 bash arm mingw32ce g No such file or directory 我运行的是 Ubuntu Linux 10 10 ls l l
  • 如何使用python2.7获取公共IP?

    如何使用python2 7获取公共IP 不是私有IP 目前有几种选择 ip 42 pl jsonip com httpbin org ipify org 以下是您可以利用上述各项的具体方法 ip 42 pl from urllib2 imp
  • 如何用单引号(')替换撇号(')

    似乎有两种类型的撇号 我想知道这个字符之间的区别 和这个 第一个是从 Microsoft Word 复制的 我试图将其粘贴到文本区域 然后插入数据库 但它不起作用 它破坏了我的查询 所以我想用这个 替换它 请问我该如何实现这一点 我尝试过
  • 从 Visual Studio 2017 连接到适用于 Linux 的 Windows 子系统

    我希望从 VS2017 调试 Linux C 控制台应用程序 如以下教程所示 使用适用于 Linux 的 Windows 子系统从 Visual Studio 编写和调试 Linux C 应用程序 https www hanselman c
  • C++ 绘图包 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个关于 c 绘图包的问题 过去几年我一直在使用 python 和 matplotlib 现在我使用
  • 条件编译和非类型模板参数

    我无法理解非类型模板参数 并希望有人能够阐明这一点 include
  • Cuda 和 OpenAI Whisper:强制使用 GPU 而不是 CPU 不起作用?

    tldr 我的假设正确吗 torch cuda init device cuda and result model transcribe etc 应该足以强制使用 GPU 吗 我检查了几个论坛帖子 但找不到解决方案 抱歉 如果这很愚蠢 我也
  • php多个if条件

    当我尝试过滤所有这些参数时 php 只输入第一个 if 条件 忽略所有其他条件 if t red lt 0 t red 0 else if t red gt 256 t red 255 else if t green lt 0 t red
  • 为什么数组中的值保留在 while 循环中? (VB.NET)

    如果我在该行放置一个断点currentrow MyParser ReadFields currentrow 仍然包含从文件解析的上一行的值 后currentrow MyParser ReadFields 执行时 存储当前文件行值 由于 cu
  • 如何在C#中获得拉普拉斯方差

    简而言之 我试图使用 OpenCVSharp 作为 C 函数的一部分来计算图像的清晰度 作为第一次尝试 我使用了拉普拉斯滤波器 如下所示 int kernel size 3 int scale 1 int delta 0 int ddept
  • 比较器使用我的类的 String 字段进行比较?

    我有一个 A 类型的对象列表 我必须为 A 的一个 String 类型的字段对其进行排序 public class A public String field1 public Integer field2 如果我必须订购 int 字段 我会
  • 如何理解android绘制完视图? [复制]

    这个问题在这里已经有答案了 可能的重复 Activity什么时候完成自己的绘制 https stackoverflow com questions 3171216 when has the activity finished drawing
  • 我想计算 Watir 或 Selenium 中的页面加载时间

    这是场景 1 Login to a web application with username and password and hit Enter Start timer 2 Load the login page lap timer s
  • Python。 argparse。删除不需要的参数

    我正在解析一些命令行参数 其中大多数需要传递给方法 但不是全部 parser argparse ArgumentParser parser add argument d dir help Directory name type str de