You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将argparse整合到带双参数的Python函数以支持命令行执行

如何用argparse让Python函数支持命令行调用

直接上完整的实现代码,完全匹配你的需求:

import argparse

def function(arg1, arg2):
    print(arg1 * arg2)

if __name__ == "__main__":
    # 创建参数解析器
    parser = argparse.ArgumentParser(description='通过命令行调用指定函数')
    # 添加位置参数:函数名、arg1、arg2
    parser.add_argument('func', help='要调用的函数名(当前仅支持function)')
    parser.add_argument('arg1', type=int, help='第一个整数参数')
    parser.add_argument('arg2', type=int, help='第二个整数参数')
    
    # 解析命令行输入的参数
    args = parser.parse_args()
    
    # 根据传入的函数名执行对应逻辑
    if args.func == 'function':
        function(args.arg1, args.arg2)
    else:
        print(f"错误:不支持的函数 '{args.func}'")

运行方式

在命令行输入:

python3 pythonscript.py function 4 5

输出结果为20,完全符合预期。

关键部分说明

  1. if __name__ == "__main__"::这是Python脚本的标准入口,只有直接运行脚本时才会执行这部分代码,避免模块被导入时误触发命令行逻辑。
  2. 参数定义:
    • func:用来指定要调用的函数名,这里我们只处理function,后续要加其他函数只需扩展判断逻辑即可。
    • arg1和arg2:通过type=int指定参数类型为整数(适配乘法需求),如果你的函数需要字符串或其他类型,去掉type=int即可(默认是字符串类型)。
  3. 函数调用:解析完参数后,通过判断args.func的值,调用对应的函数并传入解析后的参数。

扩展支持多函数

如果后续需要添加更多函数,比如加法,只需新增函数并扩展判断逻辑:

import argparse

def function(arg1, arg2):
    print(arg1 * arg2)

def add(arg1, arg2):
    print(arg1 + arg2)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='通过命令行调用指定函数')
    parser.add_argument('func', help='要调用的函数名(支持function、add)')
    parser.add_argument('arg1', type=int, help='第一个整数参数')
    parser.add_argument('arg2', type=int, help='第二个整数参数')
    
    args = parser.parse_args()
    
    if args.func == 'function':
        function(args.arg1, args.arg2)
    elif args.func == 'add':
        add(args.arg1, args.arg2)
    else:
        print(f"错误:不支持的函数 '{args.func}'")

现在可以调用加法函数:

python3 pythonscript.py add 4 5

输出9。

内容的提问来源于stack exchange,提问作者NicoMane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:39:51