解析引用的带有空格的args列表的最有效方法

时间:2017-05-23 21:52:48

标签: python python-2.7

我需要解析像

这样的聊天机器人字符串
myproject appliances lasthour

("myproject", "appliances", "lasthour")

myproject appliances "2017-4-13 10:00" "2017-4-13 12:00"

("myproject", "appliances", "2017-4-13 10:00", "2017-4-13 12:00")

问题是引用字符串中的空格。我可以手工完成它,但它是一个更简单,更易维护的1行解决方案,用引号字符串中的空格解析命令行args?

1 个答案:

答案 0 :(得分:5)

shlex module提供shell样式的词法分析:

import shlex
yourstring = '''myproject appliances "2017-4-13 10:00" "2017-4-13 12:00"'''
print repr(shlex.split(yourstring))

正确发出:

['myproject', 'appliances', '2017-4-13 10:00', '2017-4-13 12:00']