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
☃️970_из того, что есть☃️
Доброго времени суток, Россия🎄
На фото рабочий стол нашего специалиста по ремонту дронов. Можете ознакомиться с качеством запчастей.
Но даже из такого, казалось бы, мёртвого хлама, можно достать нужные детали для ремонта.
Работаем!
🎄До нового года остались считанные часы...🎄
❄️С наступающим ❄️
🇷🇺Мы в МАХ
Инженерный💪фронт
Призрак Новороссии
2025.
🎄rutube🌍vkвидео🌍дзен
#дрон#dji#mavic
#БПЛА#Mavic#Сброс Боевая работа расчётов БПЛА группировки "Запад" по укреплениям и укрытиям личного состава ВСУ на Богуславском направлении. Выучка и высокий уровень боевого мастерства расчётов в немалой степени обеспечивают продвижение линии фронта вперёд, позволяя пехоте отбивать у врага всё новые и новые позиции.
#БПЛА#Mavic#Сброс Пока страна на новогодних каникулах, боевая работа на Богуславском направлении идёт в штатном режиме. Свежая подборка новогодних сбросов от операторов БПЛА группировки "Запад"
#БПЛА#Mavic#Сброс Недавно, на Богуславском направлении, противник попытался отбить занятые бойцами группировки "Запад" позиции. В результате умелых и слаженных действий наших воинов, контратака противника была отбита, враг понёс потери и отступил. Это прекрасный подарок Родине от наших бойцов к празднованию Нового Года! Наше дело правое. Враг будет разбит. Победа будет за нами. С наступающим Новым Годом!
#БПЛА#Mavic#Сброс Боевая работа операторов БПЛА группировки "Запад" это не только успешные сбросы и уничтожение живой силы и техники врага. Бойцы сбрасывают над территориями которые контролируются противником листовки агитирующие врага оставить свои позиции и сдаваться в плен. Информационное противоборство - неотъемлемая часть современной войны.
#БПЛА#Mavic#Сброс На Богуславском направлении бойцы группировки "Запад" день за днём оттачивают свои боевые навыки. Оператор БПЛА Волчок демонстрирует своё искусство, великолепным сбросом уничтожая ещё одного бойца противника.
#БПЛА#Mavic#Сброс На видео военнослужащий группировки "Запад", воюющий на Богуславском направлении, позывной Элджей, рассказывает о своей боевой работе. Специалист в изготовлении зарядов для сбросов с БПЛА, готовит подарки для противника недалеко от ЛБС. Успехом пользуются именно фугасные заряды, которые помогают уничтожать опорные пункты противника для более упрощённого продвижения штурмовых групп.
#БПЛА#Mavic#Сброс Ночная боевая работа операторов БПЛА группировки "Запад" на Двуреченском направлении по живой силе противника за летний-осенний период. Архивные кадры.