@instavine · Post #1152 · 16.04.2017 г., 16:00
#lelepons w/ #iamstevenspence
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #191 · 14 дек.
Как разделить строку с 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
Пребарај: #iamstevenspence
@instavine · Post #1152 · 16.04.2017 г., 16:00
#lelepons w/ #iamstevenspence
Hashtags
@instavine · Post #1071 · 04.03.2017 г., 14:00
Accent barriers 😂🙈 ------------ #amandacerny w/ #iamstevenspence ------------ @instavine
Hashtags
@instavine · Post #829 · 07.10.2016 г., 14:31
#amandacerny w/ #iamstevenspence ----------------------------- Join: @best_of_vine
Hashtags
@instavine · Post #1105 · 25.03.2017 г., 12:00
Having overprotective brothers😓💦 part 2 ------------ #lelepons w/ #iamstevenspence#raydiaz
@instavine · Post #975 · 14.01.2017 г., 14:00
The problems of having over protective brothers😖😡 ----------------- Когда твои братья защищают тебя от всего. 😖😡 ----------------- #lelepons w/ #raydiaz#iamstevenspence
@instavine · Post #1031 · 08.02.2017 г., 14:00
#amandacerny w/ #iamstevenspence#directedbystro --------------- @instavine
@instavine · Post #1257 · 09.09.2017 г., 05:45
Dirty cops be like... 👮🏽😂 ----------- Грязные копы... 😂 ----------- #kingbach w/ #klarity#raydiaz#iamstevenspence
@instavine · Post #960 · 07.01.2017 г., 14:00
Booty camp! 😂🔥 ------------------ #kingbach w/ #raydiaz#iamstevenspence#ashleykfit
@instavine · Post #752 · 07.09.2016 г., 08:06
Booty Camp🙈😂 ----------------------- #kingbach w/ #raydiaz#iamstevenspence#ashleykfit
@instavine · Post #903 · 28.11.2016 г., 14:00
When you do something cool ---------------------- #loganpaul w/ #iamstevenspence, #johannes.r.bartl, #raydiaz
@instavine · Post #1089 · 16.03.2017 г., 15:05
#amandacerny w/ #katjaglieson#johannes.r.bartl #iamstevenspence ----------- @instavine
@instavine · Post #1157 · 18.04.2017 г., 08:00
Girls be like...😱😍 --------- Девушки.... --------- #lelepons w/ #iamstevenspence#raydiaz#simszter