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
📩#GALAUSDT 30m | Mid-Term
📉Long Entry Zone: 0.01628-0.01585
🎯 - Strategy Accuracy: 94.29%
Last 5 signals: 100.0%
Last 10 signals: 94.12%
Last 20 signals: 92.59%
⏳ - Signal details:
Target 1: 0.01646
Target 2: 0.01663
Target 3: 0.01681
Target 4: 0.01733
_____
🧲Trend-Line: 0.01585
❌Stop-Loss: 0.01567
💡After reaching the first target you can put the rest of the position to breakeven
📩#GALAUSDT 30m | Mid-Term
📉Long Entry Zone: 0.0166-0.0156
🎯 - Strategy Accuracy: 90.52%
Last 5 signals: 100.0%
Last 10 signals: 100.0%
Last 20 signals: 100.0%
⏳ - Signal details:
Target 1: 0.0168
Target 2: 0.0170
Target 3: 0.0172
Target 4: 0.0178
_____
🧲Trend-Line: 0.0156
❌Stop-Loss: 0.0154
💡After reaching the first target you can put the rest of the position to breakeven
📩#GALAUSDT 30m | Mid-Term
📉Long Entry Zone: 0.03608-0.03387
🎯Accuracy of this strategy - 90.50%
- ⏳ - Signal details:
Target 1: 0.03651
Target 2: 0.03695
Target 3: 0.03738
Target 4: 0.03868
_____
🧲Trend-Line: 0.03387
❌Stop-Loss: 0.03346
💡After reaching the first target you can put the rest of the position to breakeven
#GALAUSDT After the completion of the pattern, we see the breaking of the downward trend line, which can be considered to start the upward movement, but if the price is not supported, the range of 0.01692 - 0.01775 can be considered for support.
📩#GALAUSDT 30m | Mid-Term
📈Long Entry Zone: 0.00333-0.00323
🎯 - Strategy Accuracy: 87.82%
Last 5 signals: 90.0%
Last 10 signals: 75.0%
Last 20 signals: 75.0%
⏳ - Signal details:
Target 1: 0.00337
Target 2: 0.00340
Target 3: 0.00344
Target 4: 0.00355
_____
🧲Trend-Line: 0.00323
❌Stop-Loss: 0.00320
💡After reaching the first target you can put the rest of the position to breakeven
#ID20000037892
📩#GALAUSDT 30m | Mid-Term
📉Short Entry Zone: 0.00352-0.00377
🎯 - Strategy Accuracy: 92.33%
Last 5 signals: 90.0%
Last 10 signals: 90.0%
Last 20 signals: 90.0%
⏳ - Signal details:
Target 1: 0.00344
Target 2: 0.00336
Target 3: 0.00329
Target 4: 0.00305
_____
🧲Trend-Line: 0.00377
❌Stop-Loss: 0.00385
💡After reaching the first target you can put the rest of the position to breakeven
#ID20000036834
🌐 New Popular Cryptocurrencies Now Live on SLEX Exchange! 🎉
🚀 SLEX has expanded our trading offerings with the addition of Injective (INJ), Arbitrum (ARB), and Gala (GALA)!
🔹 Cryptos Listed:
- Injective (INJ)
- Arbitrum (ARB)
- Gala (GALA)
🔹 Trading Pairs:
- INJ/USDT
- ARB/USDT
- GALA/USDT
🤑Trade these dynamic assets to boost your earnings and diversify your portfolio on the SLEX Centralized Exchange!
#SLEXUpdate#INJUSDT#ARBUSDT#GALAUSDT#SpotMarket#SLEXTrading#TradeOnSLEX
Website| Telegram | Reddit | Facebook | Instagram | Medium | Linkedin | Twitter