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
#CAKE/USDT analysis :
#CAKE has retraced and tapped the previous resistance zone, which is now support for the price. Bullish momentum is expected from the current level. Wait for the price to bounce back and break out of the $2.614 level to go long, with the previous swing high as the target level.
TF : 1D
Entry : $2.614
Target : $4.180
SL : $1.992
#CAKE/USDT analysis :
#CAKE is currently in an uptrend, forming higher highs (HHs) and higher lows (HLs) above the 200 Exponential Moving Average (200EMA). The price is anticipated to undergo a retracement and test a support zone before resuming its bullish momentum. A new high is likely to be established soon.
TF : 15min
Entry : $2.033
Target : $2.091
SL : $2.004