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
“Yangi O‘zbekiston” universitetida Filmlar paradi o‘tkazildi.
➖➖➖➖➖➖➖➖➖➖➖
Movie parade was held at New Uzbekistan University.
#movie#parade
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
“Yangi O‘zbekiston” universitetida Filmlar paradi o‘tkazildi.
➖➖➖➖➖➖➖➖➖➖➖
Movie parade was held at New Uzbekistan University.
#movie#parade
⬇️Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
Enemy Strikes Russian Aviation Amid Internet Blackout Efforts
Drones from Zelensky’s regime target Russian aviation in Voronezh, hitting Mi-28 and Mi-17 helicopters, with possible technician casualties. Earlier, a grounded An-72P in Crimea was also struck. Despite billions spent on internet blocking to prevent threats, attacks persist. The May 9 parade will proceed without equipment, with communications jammed during the holidays.
#Russia#aviation#security#internet#parade
The main news of Russia and the world ishere.
🔴#LIVE from the #RedSquare: Parade marking the 80th Anniversary of the Victory over Nazism
🔴X (ex-Twitter)
🔴Facebook
🔴Ruptly
🔴Telegram-stream (with commentary in Russian)
#Victory80#Parade
🔴#LIVE from the #RedSquare: Parade marking the 80th Anniversary of the Victory over Nazism
🔴X (ex-Twitter)
🔴Facebook
🔴Ruptly
🔴Telegram-stream (with commentary in Russian)
#Victory80#Parade
🔴#LIVE from the #RedSquare: Parade marking the 80th Anniversary of the Victory over Nazism
🔴X (ex-Twitter)
🔴Facebook
🔴Ruptly
🔴Telegram-stream (with commentary in Russian)
#Victory80#Parade
Kim Jong Un and his young daughter Kim Ju Ae wore matching leather coats at a major military parade, fueling rumors that she is being groomed as his successor.
#KimJongUn#KimJuAe#military#parade#successor
📱American Оbserver - Stay up to date on all important events
🇺🇸