Python Glossary English

все Python 3shlexпонятие

shlex

модуль

Разбор и экранирование строк в синтаксисе оболочки Unix: разбить командную строку, процитировать аргумент.

Синтаксис

import shlex

shlex.split разбивает строку команды на аргументы с учётом кавычек и экранирования — str.split ломает «my file.txt» на два куска. shlex.quote и shlex.join нужны в обратную сторону, когда команду всё же собирают строкой для оболочки. Правила здесь — POSIX-оболочки, а не cmd.exe Windows; а лучше всего вовсе передавать subprocess список аргументов без shell=True.

Примеры

import shlex
print(shlex.split('cp "my file.txt" backup/'))  # → ['cp', 'my file.txt', 'backup/']
print(shlex.join(['echo', 'hello world']))  # → echo 'hello world'
print(shlex.quote("it's"))  # → 'it'"'"'s'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности