Как разделить строку с 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
Два месяца назад я поставила перед собой интересную задачу - полноценно протестировать уход с достижением результатов.
Что тут интересного, спросите вы, мол, я и так постоянно тестирую косметику?
Это так, но мне предложили через обследование выявить то, что можно скорректировать.
- подобрали уход (который я покупала эти два месяца сама);
- поделюсь расходом, чтобы было удобно рассчитать на «лечение»;
- и за это время приходить и проверять как идет лечение и восстановление.
Да-да! Именно лечение, потому что речь идет о космецевтике Am&pm.
С первой и второй диагностикой можете ознакомиться здесь
А в этом посте показываю вчерашнюю диагностику (т.е. через 2 месяца от начала лечения)
На видео слышно и видно состояние кожи и комментарии косметолога.
На осень запланирована работа с сосудами и пигментацией 🥰
#apmp@tatyanabeautycare
Incheon mezbonligidagi APMP 41-yig‘ilishi: O‘zbekiston delegatsiyasi faol ishtirok etmoqda
🔄 O'zbekiston texnik jihatdan tartibga solish agentligi huzuridagi O‘zbekiston milliy metrologiya instituti vakillari Osiyo–Tinch okeani metrologiya dasturi (APMP) Bosh Assambleyasining 41-yig‘ilishida, shuningdek Davlat metrologiya muassasalarining Yevro–Osiyo hamkorligi (COOMET) tashkiloti nomidan ishtirok etmoqda.
📍Nufuzli anjuman 2025 yil 21–28 noyabr kunlari Koreya Respublikasining Incheon shahrida, Koreya o‘lchovlar va ilmiy-tadqiqot instituti (Korea Research Institute of Standards and Science – KRISS) tomonidan tashkil etilmoqda.
✍️ Bu xalqaro tadbirda O'zbekiston milliy metrologiya instituti hodimlari metrologiyaning akustika, massa, elektr, uzunlik, harorat, sarf, fotometriya, kimyo, ionlantiruvchi nurlanish, vaqt va chastota yo‘nalishlari hamda sifat tizimi bo‘yicha texnik qo‘mitalar yig‘ilishlarida faol ishtirok etdi.
✅Ushbu yig‘ilishda ishtirok etish orqali O‘zMMI mutaxassislari turli yo‘nalishlardagi eng so‘nggi yutuqlar, metodikalar va xalqaro talablar bilan tanishdilar va o'z yo'nalishlari bo'yicha taqdimotlar taqdim etdilar.
✅ Ma'lumot uchun: Hozirgi kunga kelib, O‘zMMI APMP doirasida BIPM bazasida ro‘yxatga olingan 3 ta (akustika va tebranish, uzunlik, hajm) solishtirish loyihalarida ishtirok etmoqda, shu bilan birga 2025 yil davomida NIM (China)da – 11 nafar NIMT (Tailand)da – 5 nafar KRISS (Koreya)da – 3 nafar mutaxassislar malakasi oshirildi.
🎖️ Tadbir doirasida KRISSning 50 yillik faoliyati, shuningdek, Metrik konvensiya qabul qilinganligining 150 yilligi ham tantanali ravishda nishonlanadi.
📈 Ushbu yirik xalqaro tadbirga qatnashish massa, ionlovchi nurlanish, elektr va magnetizm, bosim, uzunlik, fotometriya, vaqt va chastota o‘lchash yo‘nalishlarida tashkil etilishi rejalashtirilgan yangi solishtirish loyihalarda ishtirok etish imkonyatini beradi.
❗️ Mazkur anjumanda O‘zMMI vakillarining ishtiroki Germaniya Fizik-texnik instituti (PTB)ning “Milliy sifat infratuzilmasini rivojlantirish” loyihasi doirasida qo‘llab-quvvatlanmoqda.
📰 Shuningdek, ta'kidlash joizki, APMP rasmiy veb-saytida O‘zMMI ning joriy yildagi faoliyati xalqaro jamoatchilikka “Highlights of Recent Activities at UzNIM” nomli maqola orqali taqdim etildi. (https://www.apmpweb.org/portal/article/index/cid/16/id/1336.html).
#UzNIM#APMP#KRISS#COOMET#Metrology#APMP_GA_2025
🌐standart.uz | Facebook | Instagram | YouTube