Python + bash
Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете?
Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно.
Советую обратить своё внимание на очень крутую библиотеку sh.
Что она умеет?
🔸 удобный синтаксис вызова команд как функций
# os
import os
os.system("tar cvf demo.tar ~/")
# subprocess
import subprocess
subprocess.call(['tar', 'cvf', 'demo.tar', '~/'])
# sh
import sh
sh.tar('cvf', 'demo.tar', "~/")
🔸 простое создание функции-алиаса для длинной команды
fn = sh.lsof.bake('-i', '-P', '-n')
output = sh.grep(fn(), 'LISTEN')
в этом примере также задействован пайпинг
🔸 удобный вызов команд от sudo
with sh.contrib.sudo:
print(ls("/root"))
Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера.
А вот вариант с вводом пароля через код.
password = "secret"
sudo = sh.sudo.bake("-S", _in=password+"\n")
print(sudo.ls("/root"))
Это не все фишки. Больше интересных примеров смотрите в документации.
Специально для Windows💀 юзеров
#libs#linux
Куксарой қароргоҳидаги икки томонлама тадбирлар якунида Ўзбекистон Республикаси Президенти Шавкат Мирзиёев ва Россия Федерацияси Президенти Владимир Путин Фахрий меҳмонлар хиёбонида биргаликда дарахт экдилар.
—
В завершение двусторонних мероприятий в резиденции «Куксарой» Президент Республики Узбекистан Шавкат Мирзиёев и Президент Российской Федерации Владимир Путин вместе посадили дерево на Аллее почетных гостей.
#Mirziyoyev#tashrif#Rossiya#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Олий даражадаги Ўзбекистон-Мўғулистон музокаралари якунлангач, Кўксарой қароргоҳида дарахт экиш маросими бўлиб ўтди.
—
В завершение узбекско-монгольских переговоров на высшем уровне состоялась церемония посадки дерева в резиденции «Куксарой».
#Mirziyoyev#tashrif#Muguliston#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston bilan Paragvay oʻrtasida oliy darajadagi muzokaralar yakunlangach, Koʻksaroy qarorgohida daraxt ekish marosimi boʻlib oʻtdi.
—
В завершение узбекско-парагвайских переговоров на высшем уровне в резиденции «Куксарой» состоялась церемония посадки дерева.
#Mirziyoyev#tashrif#Paragvay#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Самарқанддаги олий даражадаги музокаралардан сўнг, Президентлар Шавкат Мирзиёев ва Эммануэль Макрон биргаликда дарахт экдилар.
—
После переговоров на высшем уровне в Самарканде Президенты Шавкат Мирзиёев и Эммануэль Макрон вместе посадили дерево.
#Mirziyoyev#tashrif#daraxt#marosim
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президентлар Шавкат Мирзиёев ва Александр Лукашенко “Кўксарой” қароргоҳининг Фахрий меҳмонлар хиёбонида биргаликда дарахт экдилар.
—
Президенты Шавкат Мирзиёев и Александр Лукашенко вместе посадили дерево на Аллее почетных гостей в резиденции «Куксарой».
#Mirziyoyev#tashrif#Belarus#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Ўзбекистон-Италия саммити дастури доирасида Президент Шавкат Мирзиёев ва Президент Сержо Маттарелла дарахт экиш маросимида иштирок этдилар.
—
В соответствии с программой узбекско-итальянского саммита Президент Шавкат Мирзиёев и Президент Серджо Маттарелла приняли участие в церемонии посадки дерева.
#Mirziyoyev#tashrif#Italiya#daraxt
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Oʻzbekiston bilan Paragvay oʻrtasida oliy darajadagi muzokaralar yakunlangach, Koʻksaroy qarorgohida daraxt ekish marosimi boʻlib oʻtdi.
—
В завершение узбекско-парагвайских переговоров на высшем уровне в резиденции «Куксарой» состоялась церемония посадки дерева.
#Mirziyoyev#tashrif#Paragvay#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev “Yashil makon” umummilliy loyihasi doirasida koʻchat ekish tadbirida ishtirok etib, Milliy dendrologiya bogʻini barpo etishga start berdi.
—
Президент Шавкат Мирзиёев принял участие в мероприятии по высадке деревьев в рамках общенационального проекта «Яшил макон» и дал старт созданию Национального дендрологического парка.
#Mirziyoyev#marosim#Yashilmakon#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev “Yashil makon” umummilliy loyihasi doirasida koʻchat ekish tadbirida ishtirok etib, Milliy dendrologiya bogʻini barpo etishga start berdi.
—
Президент Шавкат Мирзиёев принял участие в мероприятии по высадке деревьев в рамках общенационального проекта «Яшил макон» и дал старт созданию Национального дендрологического парка.
#Mirziyoyev#marosim#Yashilmakon#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
O‘zbekiston – Finlyandiya sammiti yakunida Prezidentlar Shavkat Mirziyoyev va Aleksandr Stubb Ko‘ksaroy qarorgohida birgalikda daraxt ekdilar.
—
По завершении узбекско-финского саммита Президенты Шавкат Мирзиёев и Александр Стубб вместе посадили дерево в резиденции «Куксарой».
#Mirziyoyev#tashrif#Finlyandiya#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev “Yashil makon” umummilliy loyihasi doirasida koʻchat ekish tadbirida ishtirok etib, Milliy dendrologiya bogʻini barpo etishga start berdi.
—
Президент Шавкат Мирзиёев принял участие в мероприятии по высадке деревьев в рамках общенационального проекта «Яшил макон» и дал старт созданию Национального дендрологического парка.
#Mirziyoyev#marosim#Yashilmakon#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev “Yashil makon” umummilliy loyihasi doirasida koʻchat ekish tadbirida ishtirok etib, Milliy dendrologiya bogʻini barpo etishga start berdi.
—
Президент Шавкат Мирзиёев принял участие в мероприятии по высадке деревьев в рамках общенационального проекта «Яшил макон» и дал старт созданию Национального дендрологического парка.
#Mirziyoyev#marosim#Yashilmakon#daraxt
Prezident.uz|Facebook|Instagram|YouTube|X