Как разделить строку с 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
21-asr bilim asridir. Hozirgi kunda muhim yo’nalishlar qaysi deb o'ylasangiz, bu biotexnologiya, IT, sun’iy intellekt, yashil texnologiyalar va hokazo. Bu hammasi bilimdir.
Masalan, MIT yoki Stanfordni oladigan bo’lsak, ularning atrofidagi barcha sanoat korxonalari asosan ushbu oliygohlar bitiruvchilari tomonidan tashkil etilgan, davlat pullari bilan emas.
👍To'liq suhbat YouTube kanalimizda: https://youtu.be/avIJW5SQd1E
🎞 Suhbatni ingliz tilida tomosha qilish: https://youtu.be/t0APwzutLU4
🔁English
➖➖➖➖➖➖➖➖➖➖➖
#Nobel#suhbat#JanTirol
⬇️Biz ijtimoiy tarmoqlarda:
Website | Instagram | Telegram
Hamkorlik yuqoridan pastga emas, pastdan yuqoriga bo'lishi kerak
✅ O'zbekiston yosh iqtisodchilar hamjamiyati tomonidan iqtisodiyot bo'yicha Nobel mukofoti sovrindori Jan Tirol bilan suhbat tashkil etildi.
💥 Suhbatda Jan Tirol raqobatning muhimligi, rivojlanayotgan davlatlar uchun muhim vositalar, rivojlanishda oliy ta'lim muassasalarining o'rni va sun'iy intellekt kabi mavzularda o'z fikrlarini bildirdi.
👍To'liq suhbat YouTube kanalimizda: https://youtu.be/avIJW5SQd1E
🎞 Suhbatni ingliz tilida tomosha qilish: https://youtu.be/t0APwzutLU4
🔁English
➖➖➖➖➖➖➖➖➖➖➖
#Nobel#suhbat#JanTirol
⬇️Biz ijtimoiy tarmoqlarda:
Website | Instagram | Telegram
Iqtisodiyot bo'yicha Nobel mukofoti sovrindori Jan Tirolning Gazeta.uz muhbiri bilan intervyusitashkil etildi
Davlat futbolchi emas, hakamdir. Ha, davlat sanoat o‘yinidagi futbolchi emas. U — hakam. Hakam esa hamma raqobatlasha olishiga ishonch hosil qilishi kerak.
Elit universitetlarda tajriba o‘laroq innovatsiyalarga ega bo‘lish juda muhim. "Yangi O‘zbekiston" universiteti bunga yaxshi misol bo‘la oladi.
👍To'liq intervyuni tomosha qilish:https://www.youtube.com/watch?v=bKcCR3_WPc0
🔁English
➖➖➖➖➖➖➖➖➖➖
#Nobel#intervyu#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Nobel mukofoti sovrindori Jan Tirolning ochiq ma’ruzasi o‘tkazildi
✅ Ochiq ma’ruzadan avval Jan Tirol Maktabgacha va maktab ta’limi vaziri Hilola Umarova bilan uchrashdi. Shundan soʻng u shaxsiy manfaatlar va ijtimoiy farovonlik oʻrtasidagi muvozanatni tushuntirib, xalq farovonligiga erishish boʻyicha qiziqarli ma’ruza oʻtkazdi.
💫 Ochiq ma'ruzada 700 ga yaqin ilm-fan vakillari, iqtisodchilar, tadbirkorlar va talabalar qatnashib, o'zlari uchun yangi tajriba va bilimlarga ega bo'lishdi.
🎗 Nobel mukofoti sovrindori bilan uchrashish va uning ma'ruzasida qatnashish yosh iqtisodchilar uchun ayniqsa, qiziq voqea bo'lib, ular o'zlarini qiziqtirgan savollariga javob olishdi.
🔁English
➖➖➖➖➖➖➖➖➖➖
#Nobel#ochiqmaruza#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Universitet talabalari uchun maxsus ma'ruza o'tkazildi
✅ Ma’ruzada Jan Tirol yirik monopol kompaniyalarni boshqarish va tartibga solishning eng samarali usullari yuzasidan oʻz bilimlarini ulashdi.
🎁 Ma'ruzada ishtirok etib, eng qiziq savol so'ragan 5 nafar talabaga olim o'zining "Economics for the common good" nomli kitobiga dastxat qo'yib, sovg'a qildi.
🎗 Ushbu uchrashuv talabalarimiz uchun eng esda qolarli va tarixiy voqea bo'lishiga ishonamiz.
🔁English
➖➖➖➖➖➖➖➖➖➖
#Nobel#ochiqmaruza#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi Oʻzbekiston” universiteti talabalari uchunNobel mukofoti sovrindori Jan Tirol bilan maxsus ma'ruza tashkil etildi
🔴Mazkur jarayonni quyidagi havola orqali kuzatishingiz mumkin: https://youtube.com/live/EFqZH3t0O-c?feature=share
✅Eslatib oʻtamiz, bugun 16:00 da InterContinental mehmoxonasida ochiq ma’ruza tashkil etiladi.
#Nobel#ochiqmaruza#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi Oʻzbekiston” universiteti talabalari uchunNobel mukofoti sovrindori Jan Tirol bilan maxsus ma'ruza tashkil etiladi
⚡️ Ma’ruzada Jan Tirol yirik monopol kompaniyalarni boshqarish va tartibga solishning eng samarali usullari yuzasidan oʻz bilimlarini ulashadi.
✅ Ishtirok etmoqchi boʻlgan talabalardan Jan Tirolning qator maqolalari bilan tanishib chiqish talab etiladi. Uchrashuvda mashhur olim bilan muloqot qilish va oʻzingizni qiziqtirgan savollarga javob olish imkoni mavjud.
💥 Jan tirol ma’ruzada eng yaxshi savol bergan 5 ta talabaga oʻz kitobini topshiradi.
👉 Roʻyxatdan oʻtish va batafsil ma’lumot olish: https://newuu.uz/jean-tirole
⏰Vaqti: 14-oktabr, 09:30
📍Manzil: “Yangi Oʻzbekiston” universiteti, U.C.A. binosi, konferensiya zali.
🤩 Uchrashuv faqat “Yangi Oʻzbekiston” universiteti talabalari uchun tashkil etiladi.
🔁English
➖➖➖➖➖➖➖➖➖➖
#Nobel#ochiqmaruza#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Zamonamizning eng nufuzli iqtisodchilaridan biri, monopoliyalarni tartibga solgani uchun Nobel mukofoti sovrindori Jan Tirol Oʻzbekistonga kelmoqda
⚡️ Fransiyalik olim Jan Tirol tomonidan 14-oktabr kuni ochiq ma’ruza tashkil etiladi.
💥 Ochiq ma’ruzada Jan Tirol shaxsiy manfaatlar va ijtimoiy farovonlik oʻrtasidagi muvozanatni tushuntirib, xalq farovonligiga erishish boʻyicha oʻz izlanishlari haqida ma’lumot beradi.
🎗Jan Tirol 2014-yil monopoliyalarni boshqarish va bozorni tartibga solish sohalaridagi dolzarb muammolarga eng yaxshi yechimlarni ilgari surgani uchun Nobel mukofoti bilan taqdirlangan.
✅ Mazkur tarixiy uchrashuvda qatnashish uchun oʻz joyingizni band qiling: https://bit.ly/3TUxz8k
⏰Vaqti: 14-oktabr, 16:00
📍Manzil: InterContinental Hotel (Trilliant)
🔹 Uchrashuvda iqtisodiyot sohasida ishlovchilar, biznes egalari, talaba-yoshlar va barcha qiziquvchilar ishtirok etishi mumkin.
🔁English
➖➖➖➖➖➖➖➖➖➖
#Nobel#ochiqmaruza#JanTirol#Iqtisodiyot
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook