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
JUST IN : 🚨
💰An Ethereum OG just deposited another 18,000 $ETH($54.78M) into #Bitstamp.
He still holds 66,252 $ETH($201M) — with total profits of ~$270M.
➖➖➖➖➖➖➖➖➖
📣@cryptonewstel
✨Vip join⭐️
🚨 Vitalik Buterin transferred another 2,000 $ETH ($3.12M) to address 0x556 10 hours ago.
➡️ Notably, the Ethereum’s co-founder appeared to have deposited 2,002 $ETH ($3.33M) to #Bitstamp and sold 100 $ETH for 173K $USDC since August 25 (18 days ago) via address 0x556.
👉 More details: https://platform.spotonchain.ai/signal-details/vitalik-buterin-may-plan-deposit-more-eth-to-bitstamp-561
👉 If you have any questions, feel free to discuss in our discord group: https://discord.com/invite/Xh7cReej7n
🚨 Vitalik Buterin transferred 999 $ETH ($1.63M) from better-known address 0xD04 to 0x556 20 hours ago.
➡️ Notably, the Ethereum’s co-founder appeared to have deposited 1,602 $ETH ($2.68M) to #Bitstamp and sold 100 $ETH for 173K $USDC over the past 8 days via address 0x556.
👉 More details: https://platform.spotonchain.ai/signal-details/vitalik-buterin-sold-mkr-and-may-deposit-eth-to-bitstamp-soon-531
👉 If you have any questions, feel free to discuss in our discord group: https://discord.com/invite/Xh7cReej7n
We are pleased to announce that EURt will be available on #Bitstamp🎉
The euro-pegged stablecoin, will provide a liquid, stable and trusted means of obtaining exposure to the single European currency to Bitstamp’s users⬇️
https://tether.to/tether-tokens-eurt-will-be-available-on-bitstamp/