#python #string-parsing
#python #синтаксический анализ строк
Вопрос:
Рассмотрим следующую строку:
./kmux.py -r 'messenger.* xx'
Если kmux.py
это скрипт python, и строка выше была передана bash в качестве аргумента, то sys.argv
будет следующий список:
["./kmux.py", "-r", "messenger.* xx"]
Существует ли стандартная функция python, которая примет первую строку и превратит ее в массив?
Я мог бы вручную воспроизвести логику bash в Python, чтобы взять исходную строку и превратить ее в этот массив, но мне любопытно, существует ли такая функция.
Комментарии:
1.
shlex.split
Работает ли для вас?
Ответ №1:
Используйте shlex
пакет по умолчанию следующим образом:
import shlex
shlex.split("'./kmux.py -r 'messenger.* xx'")