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
#RUNE/USDT analysis :
#RUNE has retested the resistance zone following a bullish impulsive move. The price is anticipated to bounce from the current level and test higher levels.
TF : 1W
Entry : $2.190
Target : $7.566
SL : $1.314
#RUNE/USDT analysis :
#RUNE has recently broken out of the 200 EMA with strong bullish momentum. The price is currently showing bullish price action. It is expected to rise higher. Before that, the price is expected to pull back and then rise higher. Wait for the price to test the support zone for a long entry.
TF : 2H
Entry : $3.813
Target : $4.233
SL : $3.603
#rune scalping opportunity 🧐
After the big dump, the previously formed liqudation void was closed. From here, it would either turn or dump would continue.
When we look at the short time frame, we see that it can start the rise by forming a failure swing.