Как разделить строку с 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
Mythological Season Begins at Gatto | Official Channel
#Gatto#Olympus
Gatto | Official Channel announces a mythological season where pets can transform into gods, heroes, or fairies. Limited edition items like the pure gold unicorn horn are available, and more pets will be introduced through mythological events.
Source: link
@tonlines
Тандемные приключения выходного дня с Таней.
Olympus Mju Zoom 105 + Fomapan100, домашняя проявка в Микрофене, скан от Точки Цвета.
#OlympusMjuZoom#Olympus#Fomapan100
📷How the Camera Industry was Hit by Smartphones
Over the past few years, #smartphone cameras have improved significantly. So much so in fact, that many people no longer see the need to carry or buy a dedicated camera. While professionals and photo enthusiasts will always get better results using high-end cameras and lenses, modern #smartphones take pictures that are easily sufficient for the demands of the average consumer.
To the camera and photo equipment industry, the rise of smartphone photography has had devastating effects. According to CIPA, a Japan-based industry group with members such as #Olympus, #Canon and #Nikon, worldwide camera shipments dropped nearly 80 percent between 2010 and 2017.
🚀@PerspectiveIX via Statista.
❓What do you usually take photos with?
«Хоҷӣ, Ходжи - благочестивый человек, который совершил поломничество в Мекку. Живет вдоль дороги к Ярхун Лашт на севере Пакистана.
Ходжи - единственный суннит в районе, населенном исмаилитами.
Он пригласил меня в свой дом и научил совершать намаз. Молитва оказалась жизненно важной вещью в ситуациях, в которых я оказывался во время своего путешествия. Обучая меня религии, Ходжи постоянно плакал от счастья.
Ходжи построил мечеть перед своим домом, из-за этого влез в долги. Мечеть построена для себя и нескольких суннитов, которые бывают в этой местности.
Из-за собственной веры он стал изгоем и объектом осуждения исмаилитским большинством.
На фотографиях он позирует с фотографией отца, которого очень любил».
Автор и фотограф: feurtado
#путешествия#документальный#fyp#fujifilm#olympus#travelphotography#film#filmphotography#portrait#explore#lomography#120mm#cinematography#dop#camera#anthropology#ethnography#aesthetic#sony#expiredfilmclub#expiredfilm#35mm#35mmfilm#traveltok#solotravel#pansonic#lumix#pakistan#chitral