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

如何在Python3中将字符串按空格拆分,但引号内内容作为单个元素?

解决方案:用shlex模块处理带引号的命令行参数拆分

这问题我之前做简易控制台工具时也碰到过!别费劲自己写正则或者字符串切割了,Python标准库的shlex模块就是专门干这个的,能完美处理带引号的参数拆分,完全符合你要的效果。

直接上手用的示例代码

import shlex

# 模拟控制台交互读取用户输入
user_command = input("请输入命令:")
args = shlex.split(user_command)

print("拆分后的参数列表:", args)

测试几个典型场景:

  • 输入 mkdir dir,输出:['mkdir', 'dir']
  • 输入 mkdir "New Folder",输出:['mkdir', 'New Folder']
  • 输入 touch 'file with spaces.txt',输出:['touch', 'file with spaces.txt']
  • 输入 echo "He said \"Hello\"",输出:['echo', 'He said "Hello"'](自动处理转义的引号)

为什么推荐shlex而不是自己实现?

自己写字符串切割很容易遗漏各种边界情况:比如转义字符、单双引号混用、引号内的空格等等,shlex模块是Python官方维护的工具,已经处理了所有常见的命令行参数解析场景,稳定性和可靠性都比手写代码高得多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 15:57:38