Как разделить строку с shell-командой на отдельные аргументы в виде списка?
Если сделать просто сплит по пробелу то получим то что надо, кроме случаев со вставками текста с пробелами. Например так:
>>> '-arg "I Am Groot"'.split(' ')
['-arg', '"I', 'Am', 'Groot"']
Чтобы учитывать текст в кавычках как единый аргумент можно воспользоваться функцией shlex.split()
Кто читает мой канал давно, уже в курсе.
А что делать, если нужно обратное действие? Объединить аргументы из списка в строку и при этом добавить кавычки в аргумент с пробелами.
Конечно, если вы используете subprocess то он сам всё разрулит. Но если вам нужна именно команда одной строкой, то можно воспользоваться готовой функцией в том же subprocess.
>>> from subprocess import list2cmdline
>>> list2cmdline(['-arg', 'I Am Groot'])
'-arg "I Am Groot"'
Он также позаботится об экранировании уже имеющихся кавычек
>>> list2cmdline(['-arg', 'I Am "Groot"'])
'-arg "I Am \"Groot\""'
А вот так он может "схлопнуть" в команду JSON
>>> list2cmdline(['--json', json.dumps({'key': 'value'})])
'--json "{\"key\": \"value\"}"'
_______________
Возможно кто-то спросит, а зачем соединять аргументы в строку если subprocess сам это сделает а os.system не наш путь?
Мне как-то потребовалось отправлять команду на удалённое выполнение и в API поддерживалось указание команды только строкой. Так что всякое бывает)
#libs#basic
🚌 Ankai - мои покатушки по ковидной Москве)
Sollers на 51 место - 13 900 000 р. Скоро в наличии!!
Большой ролик про ссылкам… ВЕЗДЕ:
Telegram
ВКонтакте
Дзен
Рутуб
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Sollers. Самый доступны турист на 51 место!
Обзорность управления и ныряем в салон.
Большой ролик про ссылкам… ВЕЗДЕ:
Telegram
ВКонтакте
Дзен
Рутуб
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Ютонг 6947. Межгород на 39 мест.
Как все качественно проложено… ровненько. Глазки радуются)
Большой ролик про ссылкам… ВЕЗДЕ:
Telegram
ВКонтакте
Дзен
Рутуб
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Анкай 2017 года - первые доработки!
Соллерс в наличии от 13 900 000 руб.!
Не бойтесь Соллерс - все было доработано 10 лет назад!
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk/3270
https://vk.com/dmitrukrs
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Туристический ЭЛЕКТРОБУС от Анкай в России! Ждем такой от Соллерс?
Скоро большое видео!
Спасибо Нижневартовску за тёплый прием!
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk/3270
https://vk.com/dmitrukrs
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Это то, ради чего стоит работать днями, неделями, годами - это новая база Рустама.
Новый тех цент, центр по грузовикам и автобусам в Перми.
Отдельное видео совсем скоро!
Больше откровенных фото и видео по ссылкам!
https://t.me/Dmitruk_Alk/3719
https://vk.com/video-233490509_456239280
https://max.ru/join/pjUNuBpURrbikqm-lOTo52ZMdB7XXr1Urp2eks3YCHM
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Завтра летим в Пермь снимать шестилетний «Анкай».
Это один из первых автобусов «Анкай», которые поступали в Россию.
Пробег автобуса более 600 000 км.
Какие поломки, как ремонтировали, какие нюансы. Об этом обо всём нам расскажет буквально послезавтра Рустам.
Почему данный ролик актуален, всё просто, потому что этот автобус симметричен автобусу «Соллерс», и у многих клиентов возникают вопросы, как надо автобус ремонтировать и что с ним будет через пять лет.
Обо всём об этом вам скором расскажем.
Больше откровенных фото и видео по ссылкам!
https://t.me/Dmitruk_Alk/3719
https://vk.com/video-233490509_456239280
https://max.ru/join/pjUNuBpURrbikqm-lOTo52ZMdB7XXr1Urp2eks3YCHM
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Автобусы Sollers. Есть в наличии, но нет субсидии! Но мы то знаем - что с марта - она снова будет! Вы готовы?
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk/3270
https://vk.com/dmitrukrs
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Туристический Sollers.История Анкай в России часть 3. 2018 год и ПЕРВЫЕ ДОРАБОТКИ Анкай для РФ!
Далекий 2018 год! Я весь молоденький, молоденький стал дистрибьютором Анкай в России. Мы пытаемся с командой внести первые доработки в китайский автобус - было очень весело и поучительно)
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk/3270
https://vk.com/dmitrukrs
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Автобусы Sollers. Перегон Анкай А9 Влад-ок Мск 2021 год. История Анкай ч. 2 Хабаровск - Иркутск!
Хабаровск - Иркустк - вторая часть ролика о перегоне Анкай
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk/3719
https://vk.com/video-233490509_456239280
#соллерс#sollers#ankai#анкай#сетра#setra#анкай
🚌 Sollers на 51 место в наличии! Чуть чуть битый - но это мы все исправим сами!
Чтобы пропустить интересные новости - обязательно отпишись от ТГ канала!!! И ВК страницы моей).
https://t.me/Dmitruk_Alk
https://vk.com/dmitrukrs
#соллерс#sollers#ankai#анкай#сетра#setra#анкай