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
Prezident Shavkat Mirziyoyev avtomobil yoʻllari sohasida amalga oshirilayotgan ishlar va kelgusi rejalar yuzasidan taqdimot bilan tanishdi.
—
Президент Шавкат Мирзиёев ознакомился с презентацией о проводимой работе и дальнейших задачах в сфере автомобильных дорог.
#Mirziyoyev#taqdimot#infratuzilma#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Jizzaxga tashrifini viloyat markazini M-39 xalqaro avtomobil yo‘li bilan bog‘lagan yo‘l o‘tkazgich hamda energetika va shaharsozlik loyihalari bilan tanishishdan boshladi.
—
Президент Шавкат Мирзиёев начал поездку в Джизак с ознакомления с путепроводом, связавшим областной центр с международной трассой M-39, а также с проектами энергетики и градостроительства.
#Mirziyoyev#safar#Jizzax#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Jizzaxga tashrifini viloyat markazini M-39 xalqaro avtomobil yo‘li bilan bog‘lagan yo‘l o‘tkazgich hamda energetika va shaharsozlik loyihalari bilan tanishishdan boshladi.
—
Президент Шавкат Мирзиёев начал поездку в Джизак с ознакомления с путепроводом, связавшим областной центр с международной трассой M-39, а также с проектами энергетики и градостроительства.
#Mirziyoyev#safar#Jizzax#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Jizzaxga tashrifini viloyat markazini M-39 xalqaro avtomobil yo‘li bilan bog‘lagan yo‘l o‘tkazgich hamda energetika va shaharsozlik loyihalari bilan tanishishdan boshladi.
—
Президент Шавкат Мирзиёев начал поездку в Джизак с ознакомления с путепроводом, связавшим областной центр с международной трассой M-39, а также с проектами энергетики и градостроительства.
#Mirziyoyev#safar#Jizzax#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev avtomobil yoʻllari sohasida amalga oshirilayotgan ishlar va kelgusi rejalar yuzasidan taqdimot bilan tanishdi.
—
Президент Шавкат Мирзиёев ознакомился с презентацией о проводимой работе и дальнейших задачах в сфере автомобильных дорог.
#Mirziyoyev#taqdimot#infratuzilma#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев автомобиль йўлларини қуриш бўйича намунавий лойиҳа билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с типовым проектом по строительству автомобильных дорог.
#Mirziyoyev#safar#infratuzilma#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Тошкент шаҳрида Шайхонтоҳур туманида қурилган янги подстанция билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с новой подстанцией, построенной в Шайхантахурском районе города Ташкента.
#Mirziyoyev#tanishuv#infratuzilma#energetika
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Президент Шавкат Мирзиёев пойтахтимизнинг Янги Ўзбекистон кўчасида барпо этилган ерости автомобиль йўлини кўздан кечирди.
—
Президент Шавкат Мирзиёев ознакомился с автомобильным тоннелем, построенным на улице Новый Узбекистан в столице.
#Mirziyoyev#tanishuv#tunnel#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев раислигида мамлакатимиз туризм салоҳиятини ошириш масалалари юзасидан видеоселектор йиғилиши ўтказилди.
—
Под председательством Президента Шавката Мирзиёева состоялось видеоселекторное совещание по вопросам повышения туристического потенциала нашей страны.
#Mirziyoyev#videoselektor#turizm#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|Twitter
Prezident Shavkat Mirziyoyev avtomobil yoʻllari sohasida amalga oshirilayotgan ishlar va kelgusi rejalar yuzasidan taqdimot bilan tanishdi.
—
Президент Шавкат Мирзиёев ознакомился с презентацией о проводимой работе и дальнейших задачах в сфере автомобильных дорог.
#Mirziyoyev#taqdimot#infratuzilma#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев автомобиль йўллари қурилишига оид режалар тақдимоти билан танишди.
—
Президент Шавкат Мирзиёев ознакомился с презентацией планов в сфере строительства автомобильных дорог.
#Mirziyoyev#taqdimot#infratuzilma#yullar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёевга Тошкент шаҳрида саноат ва хизмат кўрсатиш соҳалари ҳамда инфратузилмани ривожлантириш бўйича ҳужжатлар лойиҳалари юзасидан ахборот берилди.
—
Президенту Шавкату Мирзиёеву представлены проекты документов, направленных на развитие промышленности и сферы услуг, а также инфраструктуры в городе Ташкенте.
#Mirziyoyev#taqdimot#Toshkent#infratuzilma
Prezident.uz|Facebook|Instagram|YouTube|X