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

Резултати

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

Пребарај: #blyderivercanyon

当前筛选 #blyderivercanyon清除筛选

🌄🌿Каньон реки Блайд — 26 км природного чуда в провинции Мпумаланга на северо-востоке ЮАР. Это один из самых больших каньонов на Земле, но в отличие от Гранд-Каньона в США он покрыт густой субтропической растительностью, из-за чего его называют “зелёным каньоном”. 🌱💚 🏞 Каньон входит в состав природного заповедника. 🌅 На местных языках Мпумаланга означает Место, где восходит солнце. 🤝 В 2022 году Свердловская область и Мпумаланга подписали соглашение о сотрудничестве. 📸 Фото: istockphoto.com #Природа#Туризм#ЮАР#Путешествия#Каньон#BlydeRiverCanyon#Мпумаланга#Африка

🌄🌿Blyde River Canyon — a 26 km (16 mi) natural wonder in Mpumalanga Province, northeastern South Africa. It is one of the largest canyons in the world, but unlike the Grand Canyon in the USA, it is covered with lush subtropical vegetation, earning it the name “Green Canyon”. 🌱💚 🏞 The canyon is part of the Blyde River Canyon Nature Reserve. 🌅 In local languages, Mpumalanga means The Place Where the Sun Rises. 🤝 In 2022, the Sverdlovsk Region and Mpumalanga signed a cooperation agreement. 📸 Photos: istockphoto.com #Nature#Tourism#SouthAfrica#Travel#Canyon#BlydeRiverCanyon#Mpumalanga#Africa#Sverdlovsk