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
🔔 | MCOUNTDOWN PREVOTE
"KILLIN' IT GIRL" by #Jhope is nominated. Use all your devices and cast your 5x votes now!
🔸WE MUST WIN WITH A HUGE GAP
‼️END: June 30 | 11:59pm KST
https://mnetplus.onelink.me/TRa8/94wr5mku?custom_link_value=vote%2F3PhMxSCAIUV-AcmVAk44N
MCOUNTDOWN PREVOTE
"KILLIN' IT GIRL" by #Jhope is nominated. Cast your 5x votes now!
🔸HIGH CHANCE OF WINNING
🔸Aim for #1 with a BIG GAP!
‼️End: June 23 | 11:59pm KST
🗳️: mnetplus.onelink.me/TRa8/94wr5mku?…
[INFO] #Jhope Interview for ELLE KOREA
From today on, my dream is j-hope's trampoline 🫥
https://youtu.be/MhTIS7OCTWQ?si=uepzZlEJtZOWV4kA
-@All_BTS_Updates
#jhope @ Lollapalooza Berlin 2025 — Setlist
What if…
Pandora’s Box
Arson
MORE
on the street (Solo Version)
lock / unlock (with benny blanco & Nile Rodgers)
i wonder…
Trivia : Just Dance
Killin’ It Girl (Solo Version)
MONA LISA
Sweet Dreams (feat. Miguel)
Base Line
Hangsang
MIC Drop
Dynamite (Tropical Remix)
Butter (Hotter Remix)
Outro : Ego
Daydream
Chicken Noodle Soup (feat. Becky G)
Hope World
= (Equal Sign)
Future
NEURON
-@All_BTS_Updates
[NOTICE] Live Streaming of #JHOPE at Lollapalooza Berlin will be available on Weverse LIVE and the BANGTANTV YouTube channel.
📆From 3:15 am to 4:45 am, Monday, July 14 (KST)
**Weverse and YouTube livestreams are available for regions outside Germany, Switzerland, and Austria. If you’re watching from one of those : https://www.magentamusik.de/lollapalooza-2024-livestream
-@All_BTS_Updates