Как разделить строку с 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
#越南#eSIM#VoWiFi
—————————
🇻🇳 越南 Vietnamobile VoWiFi
—————————
简介:
发送短信 ON 到 123
会收到
Quy khach da dang ky thanh cong VOLTE(0d) su dung den . Cai dat ngay app Vietnamobile de quan ly sim de dang & tan huong nhieu tien ich thu vi tai: https://www.vietnamobile.com.vn/vietnamobileapps. CTLH 0922789789 (0d).
代表VoWifi开启成功,同时VoLTE也会开启成功
—————————
评测:
VoWi-Fi内地IP可以秒拉,不限制IP,资费算越南本地
安卓机暂时未测试。
部分信息 来源
—————————
Powered By @SIM_CN
2025/04/25
如果有错误或者纰漏请群友多多指出,谢谢!
—————————
推广:
[eSTK.ME 年轻人第一张实体eSIM]
🟡 Hududlarda raqamli rivojlanishini jadallashtiramiz
4️⃣ So‘nggi 5 yil ichida 4G baza stansiyalari sonini uch barobarga ko‘paytirdik.
🟡 Qoraqalpog‘istonda ularning soni 23 barobarga oshdi — bunday o‘sish hatto eng chekka hududlarda ham barqaror aloqani ta’minladi.
Bir qator viloyatlarda foydalanuvchi trafigi hajmi 25 barobarga oshdi.
📞 Bizda har beshinchi qo‘ng‘iroq VoLTE orqali amalga oshirilmoqda — HD sifatida, zudlik bilan ulanish va uzilishlarsiz internet bilan.
🗼 Tarmoq yuklamalarni uddalamoqda: mantiqiy sektorlar soni 6 barobarga oshdi.
📱 Triple-Band Massive MIMO 32×32 uskunasini sinov tariqasida ishga tushirdik — bu uskuna yuklama paytida ham yuqori internet tezligi va barqaror aloqani ta’minlaydi.
Davom ettiramiz!
Tafsilotlar
• • •
🟡 Ускоряем цифровое развитие регионов
4️⃣ За последние 5 лет мы утроили количество базовых станций 4G.
🟡 В Каракалпакстане их стало больше в 23 раза — такой рост обеспечил стабильную связь даже в самых отдалённых районах.
В ряде областей объём пользовательского трафика увеличился в 25 раз.
📞Каждый пятый звонок в нашей идёт через VoLTE — в HD-качестве, с мгновенным соединением и интернетом без разрывов.
🗼 Сеть справляется с нагрузками: количество логических секторов выросло в 6 раз.
📱 Пилотный запуск Triple-Band Massive MIMO 32×32 —оборудования, которое обеспечивает более высокую скорость интернета и стабильную связь даже при нагрузке.
Продолжаем!
Подробнее
#VOWIFI#VoLTE#Modernizatsiya#TarmoqniKengaytiramiz