Как разделить строку с 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
СД Хэдхантер дивиденды за 2025 год — 233 руб./акц. (ДД: 7,9%) Группа направит на дивиденды около 116% скорр. чистой прибыли. ВОСА — 27 апреля#HEAD
Читать далее
👉https://smartlab.news/i/180790
мы в max
Хэдхантер МСФО за IV кв и 2025 год
♦️ Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
♦️ Выручка за год ₽41,2 млрд (+4% г/г)
♦️ Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
♦️ Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
♦️ Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
♦️ Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
♦️ Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
♦️Совет директоров рекомендовал дивиденды 233 руб. на акцию.
#HEAD
Сайт | Бот | Invest Era
Хэдхантер МСФО 2025 г:
📈 выручка ₽41,20 млрд (+4,0% г/г)
📉 чистая прибыль ₽17,99 млрд (снижение в 1,3 раза г/г)#HEAD
Читать далее
👉https://smartlab.news/i/183966
мы в max
🖨 Хэдхантер МСФО за IV кв и 2025 год:
📈 Выручка за IV кв ₽10,4 млрд (+0,4% г/г)
📈 Выручка за год ₽41,2 млрд (+4% г/г)
📉 Чистая прибыль за IV кв ₽5,4 млрд (–18,7% г/г)
📉 Чистая прибыль за 2025 год ₽20,8 млрд (–14,9% г/г)
📈 Скорр. EBITDA за IV кв ₽5,9 млрд (+7% г/г)
📈 Скорр. EBITDA за 2025 год ₽22,7 млрд (–4,7% г/г)
🔮 Прогноз на 2026 год: Рост выручки до 8% г/г при сохранении рентабельности по скорр. EBITDA на уровне выше 50%
#HEAD
Читать далее
👉https://smartlab.news/i/180789
мы в max
МНЕНИЕ: Краткосрочно акции Хэдхантер непривлекательны: ждем слабых показателей в 1К26. Долгосрочно смотрим позитивно с рекомендацией «Покупать» на фоне смягчения ДКП - Совкомбанк
Читать далее
👉https://smartlab.news/i/179614
#HEAD
🖨 Хэдхантер операционные результаты за III кв 2025 года:
— Выручка ₽10,94 млрд (+1,9% г/г) 📈
— Скорр. чистая прибыль ₽6,12 млрд (–15,5% г/г) 📉
Читать далее
👉https://smartlab.news/i/169930
#HEAD