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

如何在argparse中免引号传递多词位置参数?

让argparse接收无引号的多词位置参数

可行,只需修改argparse的参数配置,让text参数接收所有剩余的位置参数,再将它们拼接成完整字符串即可。

修改后的代码示例

import argparse

parser = argparse.ArgumentParser(description="Create pixel art bubble speech image")
# 使用nargs='+'让text接收所有后续位置参数,形成列表
parser.add_argument('text', nargs='+', type=str, help="Text inside the bubble speech")
args = parser.parse_args()
# 将参数列表拼接为单个字符串
full_text = ' '.join(args.text)
# 后续业务逻辑使用full_text即可

效果说明

执行bubble.py hello world时,args.text会被解析为['hello', 'world'],通过' '.join()就能得到完整的hello world文本,和带引号执行的效果一致。

跨平台兼容性

这种方法适用于所有主流操作系统(Windows、macOS、Linux)。argparse是Python标准库的一部分,其nargs参数的行为在各系统下完全一致;而不同系统的命令行环境对空格分隔参数的解析逻辑,不会影响这种参数收集方式的有效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:47:03