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
🎉 Get Goated S2 이벤트 진행 중!
💡IoTeX란?
IoTeX는 스마트 기기와 실제 데이터를 블록체인과 연결하는 DePIN 플랫폼
!총 100M $IOTX(약 62억 원)의 보상이 걸린 초대형 이벤트에 지금 참여하세요!
기간: 10월 29일부터 약 3개월간 진행
참여 방법
1️⃣ 이벤트 사이트에서 미션 수행 (스테이킹, 유동성 공급 등)
2️⃣ 다양한 프로토콜(Bedrock, iZUMi 등)과 상호작용
3️⃣ BinoBits 포인트 적립
4️⃣ 텔레그램 미니앱(@Goat_Earn_Bot)에서 데일리 체크인
포인트 랭킹에 따라 보상이 지급됩니다!
🔥 현재까지 결과
- 참가자 수: 117,140명
- 누적 포인트: 181,958,191 BinoBits
유저가이드 | 이벤트 사이트
#IoTeX
#CyberCharge, the world's first Web3 smart charger presale event with @iotex_io, is coming soon!🚀
Play games, earn tokens, and grab airdrops—each mystery box brings exciting surprises! 🎁
🔥$IOTX Tokens
⚡️Web3 Smart Charger Set
Follow, 🔄, 👍, and comment for a chance to win a presale WL spot (10 spots) - FCFS!
#IoTeX#Web3#DePIN
Like👍, Retweet🔵, Comment
Link to the Tweet!
🔋#CyberCharge Debuts at #Token2049 Singapore!
We were a proud sponsor at one of the world’s most influential blockchain events!
👉Dive into the details:
link.medium.com/CPkTunaP2Mb
From showcasing future DePIN products to collaborating with global leaders like #Solana & #IoTeX, CyberCharge is driving Web3 into the real world.
Like👍, Retweet🔵, Comment
Link to Tweet
🤖Join Bot🐣X (Twitter)✉️Chat
Today at #R3alWorld, we had a great time connecting with the #IoTeX team, Raullen Chai, CEO of @iotex_io.
We exchanged valuable insights and ideas on DePIN devices and their innovative applications.
#Token2049singapore
Like👍, Retweet🔵, Comment
Link to Tweet
🎁Join our Airdrop Event
Link to MiniApp
CyberCharge showcased exciting content at the #R3alWorld DePIN Summit 2024 Workshop! 🎉
Our BD, Goran, shared CyberCharge's innovative Proof of Charge mechanism and seamless Web2 integration, bringing new energy to the future of #DePIN and charging experiences⚡️
#CyberCharge#IoTeX
Like👍, Retweet🔵, Comment
Link to Tweet
🎁Join our Airdrop Event
Link to MiniApp
🚀We’re excited to be a part of the R3alWorld DePIN Summit!
⚡️Join us at this groundbreaking event, hosted by @iotex_io and Co-Hosted by @MessariCrypto, where CyberCharge will showcase its innovations alongside other industry leaders.
🗓Sept 16th-17th
📍Amara Singapore
🔌Let’s power the future together!
#DePIN#CyberCharge#IoTeX#Messari#Token2049
Like👍, Retweet🔵, Comment
Link to the Tweet!
🔗Tweet From IoTeX: https://x.com/iotex_io/status/1829239846008934586?s=46