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
#QI/USDT analysis :
#QI has broken out and successfully retested the previous swing high resistance. The price is currently finding support at this zone. It is anticipated that the price will bounce back from here and test previous highs.
TF : 1W
Entry : $0.01650
Target : $0.03380
SL : $0.01080
#QI
https://www.binance.com/en/trade/QI_USDT
Buying Zone 195-200
Sell
🤑 220
🤑 250
🤑 250-280
🤑 280-310
🚀 310-350 & above
Currently facing R if broken x2
we can expect
Bullish above 178🔼
Death zone below 178🔽
#QI👈
Call given here
Hit 52 fourth selling range
Target 1 to 4 done ✅
57% safe profit
If you invested 1 btc it's now 1.57 btc now 🤑🤑
Signal before pump @ low level
Always trade with us for max profit 😊🤑💃
We are best pump tracker 🤑
👀#ATA#FIO#GTC#NTRN#PHB#QI#RDNT#BNB Binance Will Extend the Monitoring Tag to Include ATA, A2Z, FIO, GTC, NTRN, PHB, QI & RDNT on 2026-03-13 RDNTUSDT: 0.00571 #Binance#announcement