Как разделить строку с 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
Завтра. 24 мая. Пхукет.
Сообщите своим друзьям, отдыхающим/проживающим в Таиланде. Вход бесплатный.
ARTEM POPOFF – vocalist of the legendary band ILWT, creators of cult hits like «All Your Friends», «Infernal Women», and «Granny Valya Went Off the Rails, So Should You». He’s also half of the musical duo APPLY and, above all, a true gentleman. ARTEM will deliver a special DJ set at COURAGE, a new bar in Phuket Town.
Joining him: his longtime friend ERICK TRODLY, POPASUDA with his infectious blend of Bass, UKG, and Jamaican-rooted rhythms (yes, ILWT fans will recognize the name!), the return of LUTANG after a short break, and of course, F-WORD on deck as well.
And don’t miss the photo exhibition «Nothing Sacred» by Nikita Puzakov happening the same night upstairs in the very same venue.
The stars are aligned – be there.
SUB: UK GARAGE / BREAKS / BASS / 2-STEP / BASSLINE / BREAKBEAT / DUBSTEP / UK FUNKY
Lineup:
ARTEM POPOFF [ILWT / APPLY]
F-WORD [Bassrock Records]
ERICK TRODLY
POPASUDA
LUTANG
24 May, Saturday
Courage Bar | Phuket Town
G.Maps: https://maps.app.goo.gl/Ta2ZMLwcgrMKVjLa8
9 pm - late
FREE ENTRY
Facebook event: https://www.facebook.com/events/2123408598122380
#ukgarage#bassmusic#breaks#breakbeat#ilwt
После концерта распитие тайской бомбовой, хоровое пение, женский слэм и, возможно, исполнение сольных песен Артема.
Ждём Вас!
Oi oi massive🤙🤙🤙
ЭТО REWIND: WINTER SPECIAL🎅💨❄❄❄
20 декабря и всего на одну ночь бар @iemigro (Эмиграция) превратится в настоящий лондонский бейсмент, где наши селекторы бок о бок будут играть лучшие пластинки за 2025 год
UK Garage/ 2Step/ Breakbeat /Electro/ Jungle
Только чистый стиль и жирный бас, который расшевелит даже самых ленивых
За пультом парни, которые знают, как надо крутить пластинки:
🎧 BR SELECTA б2б FLAT б2б SLIDER б2б DMITRY V🎧
🗓 Дата: 20 декабря (суббота)
🕙 Старт: 22:00
📍 Локация: Бар «Эмиграция» Почтовый съезд, 3
#rewind_nn#ukgarage#2step#breakbeat#electro#jungle#nnov#party
Sarah Haras — Mirage (Chinabot, 2021)
#khaliji#idm#drone#breakbeat#dancehall#noise#post_industrial#concrete_music#granular_synthesis#Bahrain
Сара Харас ставит музыку на радио Ma3azef, а в своём творчестве пытается передать ощущение мира, каким оно открывается арабской женщине. Mirage — третий альбом Сары Харас, на котором она исследует музыку халиджи, добавляя в неё элементы брейкбит, дрона, нойза, постиндустриала, конкретной музыки и гранулярного синтеза. Фольклор халиджи, зародившийся в центральной и восточной Аравии, вобрал в себя культуру африканских мигрантов. Пение и барабаны халиджи во время праздников звучат по всему Бахрейну. Влияние традиции особенно заметно в треках Sahra и Mutated Samri, первый из которых основан на гипнотическом ритме, постепенно достигающем пика интенсивности. Mta Bnroo7 и Euphoria напоминают о порывах горячего воздуха, проносящихся над пустыней. А вот в Wish That I, наоборот, слышна клубная музыка Бахрейна и дэнсхолл.
🔗Spotify | AppleMusic | Bandcamp