通过arg执行函数

2023-12-11

我想做的是,当我输入特定参数时,它会启动一个函数,这可以通过argparse。因此,如果我在应用程序中点击 add 参数,它就会触发“add”函数。

parser = argparse.ArgumentParser(description='to do list')
parser.add_argument('-a', '--add', help='add an item to the todo list')
parser.add_argument('-r', '--remove',)
parser.add_argument('-l', '--list',)
args = parser.parse_args()

def add(args):
    conn = sqlite3.connect('todo.db')
    c = conn.cursor()
    c.execute("INSERT INTO todo VALUES (args.add, timestamp)")

当然,你可以直接使用add as the type范围:

def add(args):
    conn = sqlite3.connect('todo.db')
    c = conn.cursor()
    c.execute("INSERT INTO todo VALUES (args, timestamp)")

parser.add_argument('-a', '--add', type=add)

如果这还不够好,你可以子类化argparse.Action每当遇到参数时,几乎可以让 argparse 做任何你想做的事情。

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

通过arg执行函数 的相关文章

随机推荐

  • 处理子例程中重复出现的 VBA 错误

    我被困在我有解决方法的事情上 但这让我烦恼我没有关于如何解决使用问题的直接答案On Error Goto对于重复出现的错误 我的问题本质上是一样的正如这个 但是提供的答案是OP整体方法的替代方案 而不是如何处理具体问题 我在下面简化了一个例
  • 每隔几秒调用获取当前坐标而不使用 NSTimer

    我知道如何用 NSTimer 做到这一点 但我不想每隔几秒就在没有计时器的情况下获取当前的 iPhone 坐标 我无法使用计时器 因为我在应用程序处于后台时获取坐标 我尝试过一些方法 但每秒都会调用一次 而不是每 10 秒调用一次 因为我不
  • CodeIgniter 删除 index.php 不起作用

    我正在使用 Ubuntu 13 并为本地 codeigniter 站点进行以下设置 Apache 2 4 6 Ubuntu 5 5 3 1ubuntu2 2 CI VERSION 2 1 2 如果没有 URL 将不再有效index php
  • 已超出传入消息的最大消息大小配额 (65536)

    我在为几个表创建范围时遇到此异常 所有这些表在设计上都很大
  • 我可以使用参数化查询从 SQL Server VarBinary 列返回字节数组吗?

    我编写了一个小型 VBA 过程来测试使用 ADO 将文件作为二进制数据上传到 SQL Server 中的 VarBinary 列以及从中下载文件 上传过程似乎可以正常工作 但我无法让下载过程正常工作 我相信 VarBinary 的输出参数设
  • ASP.NET MVC RequireHttps 仅在生产环境中

    我想使用需要Https属性以防止将不安全的 HTTP 请求发送到操作方法 C RequireHttps apply to all actions in controller public class SomeController Requi
  • 将表格从 Excel 导出到 Outlook(黑莓友好)

    因此 我从互联网上的不同地方收集了一些代码 将表格导出到 Outlook 并自动发送出去 并且刚刚注意到该电子邮件并不是真正的黑莓友好 主要是因为电子邮件正文以 HTML 形式发送 而不是作为 富文本 请记住表格也需要采用富格式 我缺少一行
  • 从 Excel 导入 - 非数字值将被忽略

    我有从指定格式的 Excel 工作表导入的代码 在其中一列中 大多数数据都是数字 但也存在非数字值 由于某种原因 导入代码会忽略非数字值 连接字符串如下所示 Dim FileConnectionString As String Provid
  • 启动 celery Worker 并启用它的广播队列

    我正在尝试启动芹菜工作人员 因此它只侦听单个队列 这不是问题 我可以这样做 python m celery worker A my module Q my queue c 1 但现在我也想要这个my queue队列成为广播队列 所以我在我的
  • 以编程方式将 [AllowAnonymous] 属性添加到我的所有控制器方法

    我有一个带有多个控制器的 WebAPI2 REST api 我使用基于角色的身份验证 我在所有控制器和一些方法上添加了 Authorize 属性 但是 在 DEV 环境中我想禁用身份验证 我希望我可以将一些代码放入WebApiConfig例
  • CORS 错误:“请求仅支持协议方案:http…”等

    我正在尝试运行一个简单的应用程序 我有一个 Express 后端 当访问时返回一个 JSON 字符串localhost 4201 ticker 当我运行服务器并从我的 Angular 服务向此链接发出请求时http 我收到以下错误 XMLH
  • jQuery UI Sortable 手动设置位置

    如何使用一些代码手动设置位置 Ok 我有一些具有 sortable 行为的 div div class sort div div class sort div div class sort div div class sort div di
  • 编码为单字节扩展 ascii 值

    在 C 中 有一种方法可以将扩展 ascii 值 128 255 编码为其单字节值 如下所示 http asciitable com 我尝试过使用 Encoding UTF8 GetBytes 但会返回扩展代码的多字节值 我不需要超过 25
  • MATLAB 中的 {} 和 [] 有什么区别?

    gt gt A 1 2 2 3 A 1 2 2 3 gt gt A 1 2 2 3 A 1 2 2 3 在我看来它们本质上是同一件事 是针对细胞的 用于数组 矩阵
  • 比较两个可选数组时出现 Swift 错误

    I get a 编译错误在下一个 Swift 代码中 var x Array
  • 将十六进制字符串转换为字节数组 (.NET) 的最佳方法是什么?

    我有一个十六进制字符串 需要将其转换为字节数组 最好的方法 即高效和最少的代码 是 string hexstr 683A2134 byte bytes new byte hexstr Length 2 for int x 0 x lt by
  • 如何使用plot_trisurf

    将matplotlib版本从1 3 1更新到2 0 2后 当我想使用plot trisurf通过3d点生成TIN时 我得到了难以理解的结果 我的测试代码如下 import sys import matplotlib import matpl
  • VBA 运行时错误“70”:无法设置列表属性。没有权限

    我试图通过单击列表框来更新数据 但出现错误 请参阅下面的代码 使用下面的代码将列表框值显示到文本框 Private Sub ListBox1 Click Dim i As Integer i Me ListBox1 ListIndex Me
  • Rspec / Shoulda:测试,调用自定义验证器

    我有一个自定义验证器 位于 app validators uri validator rb 中 用于 validates link uri true 我如何在我的规格中指定这一点 理想情况下 我希望进行单线通话 例如 it should v
  • 通过arg执行函数

    我想做的是 当我输入特定参数时 它会启动一个函数 这可以通过argparse 因此 如果我在应用程序中点击 add 参数 它就会触发 add 函数 parser argparse ArgumentParser description to