python - 通过 arg 执行函数

标签 python argparse

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

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 作为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 在遇到参数时做任何您想做的事情。

关于python - 通过 arg 执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19251204/

相关文章:

python - OpenCV calcOpticalFlowFarneback源代码

python - 在pytorch中用填充 reshape 张量

python-3.x - argparse - 不带前缀的可选参数

python - 如何传递文件中包含的命令行参数并保留该文件的名称?

python - 如何测试python中父类(super class)的顺序?

python - 如何在 python 中将字符串拆分为列表并将两个已知标记合并为一个?

python - 如何在 Python 中屏蔽二维列表?

python - argparse 中的命名参数

Python 帮助 - 属性错误 : 'module' object has no attribute 'ArgumentParser'

python - argparse:当存在子解析器时如何分隔未知(和可选)args。(子解析器也是可选的)