Как разделить строку с 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
Компания Li Auto представила StreamingClaw, унифицированную платформу для создания агентов на основе воплощенного искусственного интеллекта
🚗 Компания Li Auto представила StreamingClaw, унифицированную платформу для работы с агентами, предназначенную для анализа видео в реальном времени и воплощения искусственного интеллекта.
✅ Полностью совместимая с фреймворком OpenClaw, система StreamingClaw изначально поддерживает многомодальную потоковую передачу в реальном времени. Вместо обработки видео в виде файлов для автономного просмотра, система непрерывно получает визуальные данные в реальном времени и выполняет мгновенный анализ — что ближе к человеческому восприятию.
✅ В демонстрационных версиях система отслеживает поведение водителя, например, зевание или использование телефона, и выдает предупреждения, а также позволяет осуществлять проактивное взаимодействие, например, приветствовать пользователей, когда они приближаются к автомобилю.
Источник: Pandaily
@chinastocksnet
Если полезно, поставьте лайк 👍😇
#LI
📞 Навигация по каналам
▪️Акции▪️Облигации
▪️Китай ▪️Трейдинг
▪️Новости▪️Клуб
Короткие продавцы набросились на акции Li Auto, так как аналитики прогнозируют плохие результаты
📌 Медвежьи ставки на акции Li Auto Inc. взлетели до рекордной отметки в преддверии результатов третьего квартала, в котором, по прогнозам, китайский производитель электромобилей зафиксирует самое большое падение выручки с момента листинга.
📈 По данным S&P Global, в пятницу короткие продажи акций компании в свободном обращении достигли исторического максимума в 8,1%. Согласно оценкам аналитиков, составленным Bloomberg, выручка Li Auto, по оценкам аналитиков, завершившимся в сентябре, снизилась на 38% в годовом исчислении. Это падение может стать самым сильным с момента листинга компании в США в 2020 году, который состоялся за год до листинга в Гонконге.
➡️ Акции Li Auto, некогда любимые инвесторами, потеряли динамику из -за жёсткой конкуренции на рынке электромобилей с увеличенным запасом хода со стороны местных аналогов в Китае, крупнейшем автомобильном рынке мира. Снизившись примерно на 23% в этом году, акции компании занимают второе место по динамике роста в индексе Hang Seng China Enterprises, который вырос почти на 26%. Li Auto потеряла более половины своей стоимости с пикового значения в августе 2023 года.
*️⃣ Результаты будут опубликованы позднее в среду. Согласно отчётности, Li Auto поставила 93 211 автомобилей в третьем квартале, что на 39% меньше, чем в прошлом году.
«Медвежьи опасения в основном касаются их основного бизнеса EREV», — сказал Юджин Сяо, руководитель стратегии акций Китая в Macquarie Capital Ltd. «Следующий год, похоже, останется очень конкурентным, поскольку такие игроки, как Xpeng, ведут себя агрессивно с четырьмя моделями EREV, а Xiaomi запускает свой долгожданный внедорожник EREV».
Источник: Bloomberg
@chinastocksnet
Если полезно, поставьте лайк 👍😇
#LI