在 Python 中,是否有一个 Python 标准函数可以像 bash 一样将字符串解析为 argv 列表?

问题描述

考虑以下字符串:

./kmux.py  -r 'messenger.* xx'

如果 kmux.py一个 python 脚本,并且上面的字符串作为参数提供给 bash,那么 sys.argv 将是以下列表:

["./kmux.py","-r","messenger.* xx"]

是否有标准的python函数可以将第一个字符串转换为数组?

我可以在 Python 中手动复制 bash 的逻辑以获取原始字符串并将其转换为这个数组,但我很好奇是否已经存在这样的函数

解决方法

像这样使用默认的 shlex 包:

import shlex
shlex.split("'./kmux.py  -r 'messenger.* xx'")