TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #sdg5

当前筛选 #sdg5清除筛选

​​🔥СОЗДАВАЙ ИЗМЕНЕНИЯ С AIESEC🔥 Мы подобрали для тебя несколько чудесных стажировок, на которых ты сможешь внести вклад в борьбу с гендерной дискриминацией и повысить уровень осведомлённости населения о проблеме. 📍Проект Rise Up Tunisia с 27 июня по 8 августа 2020 На стажировке ты будешь писать сценарий, проводить кастинги и снимать документальный фильм о проблеме гендерного неравенства. Питание и проживание предоставляются Подробнее: https://aiesec.org/opportunity/1232998 📍Проект Women in Power с 25 июня по 7 августа 2020 На стажировке ты будешь проводить исследования, направленные на изучение социального положения женщин в Турции, брать интервью, планировать и проводить офлайн мероприятия по проблеме гендерного неравенства, а также рассказывать о культуре нашей страны. Где: г.Анкара, Турция Проживание предоставляется Подробнее: https://aiesec.org/opportunity/1231596 📍Проект S(he) - Equality for Everyone, Everywhere с 23 июля по 3 сентября 2020 На стажировке ты будешь подготавливать и проводить лекции о целях устойчивого развития, семинары для студентов о проблеме гендерной дискриминации в социальной, экономической, политической и образовательной сферах, а также оценивать влияния реализуемого проекта на осведомлённость населения о мировых проблемах. Где: г.Тбилиси, Грузия Проживание предоставляется Подробнее: https://aiesec.org/opportunity/1228819 Минимальные требования для всех проектов: - возраст от 18 до 30 лет - английский не ниже Intermediate - организационный взнос - 15.000 рублей Понравился какой-либо проект? Тогда скорее заполняй заявку: http://bit.ly/aiesecinspb #globalvolunteer#gv#sdg5#internship#leadership#AIESECэтоПроТебя