Как разделить строку с 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
#Navoiy
⚡️Nurota qadimdan nafaqat tarixiy obidalari, balki o‘zining boy hunarmandchilik merosi bilan ham mashhur. Shulardan biri — kashtachilik san’atidir.
📌Kashtachilik bu oddiy bezak emas, balki avloddan-avlodga o‘tib kelayotgan milliy qadriyat, ayollar va qizlarning mahoratini namoyon etuvchi nafis san’atdir.
🌸 Nurota kashtalarida:
✅tabiat manzaralari,
✅gul va barg naqshlari,
✅milliy ramzlar,
✅o‘ziga xos rang uyg‘unligi aks etadi.
⚛️ Har bir kashta — bu sabr, mehr va ijod mahsuli. Bugungi kunda ham Nurota ayollari ushbu san’atni davom ettirib, milliy merosimizni asrab-avaylab kelmoqdalar.
#Navoiy#Nurota#Kashtachilik#MilliyMeros
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
#Navoiy
#Oavbizhaqimizda
✅Igna bilan ro‘yobga chiqayotgan orzular
⚡️Qadimiy Nurota zaminida hunarmandchilik an’analari munosib davom etmoqda.
🌸 Tadbirkor Bahora Mamarajabova tomonidan tashkil etilgan “Adiba kashtachilik markazi”da milliy kashtalar tayyorlanib, xotin-qizlarga hunar o‘rgatilmoqda.
✅Bahora — kashtachilar sulolasining 5-avlodi. Bugun u va shogirdlari 100 metrli kashta tikib, Ginnes rekordlar kitobidan o‘rin olishni maqsad qilgan.
📌Milliy merosni asrab, uni dunyoga tanitayotgan fidoyi hunarmandlar safi kengaymoqda.
Batafsil
#Hunarmand
#Kashtachilik
#Nurot
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
#NAVOIY
Navoiy viloyati “Ziyokor” ayollar va yoshlar markazi tomonidan Xatirchi tumani “Langar” va “Oqtepa” mahallalarida “Kashtachilik markazlari” tashkil etildi.
Ayollar bandligi
Milliy hunarmandchilik
Barqaror taraqqiyot
Ayol farovonligi — jamiyat ravnaqining poydevori!
#Ziyokor#Kashtachilik#AyollarBandligi
✅Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
#Navoiy
⚡️Navoiy viloyat hokimi Normat Tursunov Nurotadagi Navoiy ixtisoslashtirilgan san’at maktab-internatida bo‘lib, ta’lim muassasasi faoliyati, o‘qituvchi va o‘quvchilarga yaratilgan sharoitlar hamda mashg‘ulot jarayonlari bilan tanishdi.
📌Tashrif davomida san’at maktabida faoliyat yuritayotgan ikki nafar hunarmand bilan uchrashuv o‘tkazildi:
📊Kashtado‘z Xudoyqulova Munira — bugungi kunda 20 nafar yoshga kashtachilik sir-asrorlarini o‘rgatib kelmoqda. U Prezidentimiz tomonidan hunarmandlar uchun yaratilgan shart-sharoitlar va berilgan imtiyozlardan ruhlanib, yoshlarni kelgusida yetuk va lider kashtachi qizlar etib tarbiyalash yo‘lida faol ishlashini ta’kidladi.
🏅Kulol Istamtoshev Sulaymon — yosh avlodga kulolchilik san’atini o‘rgatib kelmoqda. Viloyat hokimi hunarmand bilan suhbatlashib, tavsiyalar berdi hamda uning takliflarini tingladi.
🌍Mazkur tashrif san’at ta’limi va hunarmandchilik sohasini rivojlantirishga qaratilgan e’tiborning amaliy ifodasidir.
#Navoiy#Hunarmand#Sanat#Kashtachilik#Kulolchilik#Yoshlar
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
#Navoiy
⚡️Qadimdan momolarimiz kashta tikib, dard-u quvonchini iplar qatiga joylaganlar. Bugun ham ana shu an’ana davom etmoqda.
📌Ziyokor ayollar va yoshlar markazi tashabbusi bilan Xatirchi tumani “Oqtepa” mahallasida “Ayol farovonligi – taraqqiyot va barqarorlikning poydevoridir” loyihasi doirasida tashkil etilgan “Kashtachilik markazi”da o‘quv jarayonlari qizg‘in davom etmoqda.
#NavoiyViloyati#Xatirchi#Kashtachilik#AyolFarovonligi#Hunarmandchilik
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash