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

如何在argparse中以参数名形式传入位置参数?

实现指定参数名的参数传入方式

如果你想通过python3 example.py receiver <argument>的形式传参,也就是必须显式写出参数名receiver再传入对应值,可以用argparse的子命令功能来实现,修改后的代码如下:

import argparse

parser = argparse.ArgumentParser()
# 创建子命令解析器,指定dest存储子命令名称,同时设置为必填
subparsers = parser.add_subparsers(dest='command', required=True)
# 添加名为receiver的子命令,并设置帮助信息
receiver_parser = subparsers.add_parser('receiver', help='传入接收者邮箱')
# 给receiver子命令添加邮箱参数
receiver_parser.add_argument('email', help='接收者邮箱地址')

args = parser.parse_args()

# 获取并使用参数值
if args.command == 'receiver':
    print(f"接收者邮箱:{args.email}")

调用时直接执行:

python3 example.py receiver xxx@example.com

如果你能接受带--的参数名写法(更符合Python命令行规范),也可以将原位置参数改为必填的可选参数,代码如下:

import argparse

parser = argparse.ArgumentParser()
# 将receiver设为必填的可选参数
parser.add_argument('--receiver', required=True, help="Enter receiver email ID")                    
args = parser.parse_args()

print(f"接收者邮箱:{args.receiver}")

调用方式:

python3 example.py --receiver xxx@example.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:45:37