Как разделить строку с 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
VEON AdTech — аналитика, которая превращает данные в прибыль 💸
📊Наши дашборды — это не просто графики, а рабочий инструмент решений.
👣Поведенческая аналитика по 100+ параметрам: распознаём не просто кто, а почему и когда кликает.
🛒Связь digital и офлайн-продаж: строим воронки, где digital влияет даже на офлайн-продажи (рост на +17% в ритейле).
💡 Фокус на бизнес-метрики, а не «отчетные» цифры: измеряем не охваты, а влияние на реальные бизнес-метрики — от конверсии до выручки.
💎Меньше шума. Больше смысла.
Какие метрики для вас критичны при анализе эффективности?
Делитесь в комментах — обсудим, как применить наш подход в вашей нише.⬇️
👋👋#ProfitFromData#BusinessIntelligence#DataAnalytics#AskTheExperts
✅ Через неделю
ИТ-форум BIT-2018
📅 1 марта / 09:30 (время Самарское, МСК+1) / Самара, ул. Алексея Толстого, 99
💵 Платно
📝 Регистрация и условия участия тут: https://goo.gl/SQ91aU
Программа BIT-2018 обещает быть чрезвычайно насыщенной и интересной! Так, в тематику Форума входят следующие направления:
~ Вопросы применения ИТ в бизнесе
~ Облачные технологии и решения
~ Интернет вещей (IoT) и «умные» решения в бизнесе, повседневной жизни и на производстве
~ ЦОД и технологии для их построения, работы и обслуживания
~ Передача звука и видео по сетям. АТС, построение контакт-центров и охранных систем и другие применения IP-технологий
~ Вопросы импортозамещения в ИТ и взаимодействия с госструктурами
~ Кадры в ИТ, построение команд, взаимодействие и контроль
~ Интернет, соцсети и мобильные технологии для бизнеса, IoT и бизнес
~ Информационная безопасность и сертификация
~ Бизнес-аналитика (Business Intelligence) и пр.
🔗 Программа: https://goo.gl/3bTNc3
#business#BusinessIntelligence#CloudTechnologies#security#InternetOfThings#IoT#Самара
Property Market Thrives on Digital Platforms
📊 A study by РЭУ im. G.V. Plekhanov reveals a surge in property transactions via Циан, with nearly 500,000 families improving their housing conditions in 2024. Digital platforms are revolutionizing real estate, streamlining deals, and saving users time and money. Циан's valuation service received 14.8 million unique requests in 2024 alone. The company's IT sector now accounts for 54% of its revenue, reflecting a 171% increase since 2019.
🔗Read more
#RealEstate#Циан#MarketTrends#DigitalTransformation#HousingMarket#PropertyTech#Investment#TechInnovation#RevenueGrowth#UserExperience#CostSavings#Efficiency#BusinessIntelligence#RealEstateTech#DigitalPlatforms#DataAnalysis#MarketResearch#2024Trends#Technology#PropertyEvaluation