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
🚀 Exciting updates for SingSing Club!
SingSing Mini App has introduced new updates aimed at enhancing the user experience:
1️⃣Utilizing SingSing Bot: Manage your club better with SingSing Bot on Telegram.
2️⃣Update Club Info: Add your Telegram group link in SingSing Club for seamless communication.
3️⃣Club Quick Access: You can access your Club quickly from SingSing Bot without open Mini App.
Learn more and maximize these features in our detailed guide
Read more and open treasure at: X Post
#SingSingClub#Community
🎉 The 2nd RUBY Halving is officially happening at 5:00 AM UTC, Sep 11! 🔥
Get ready to power up and mine more RUBY! 💎 This is your chance to dig deep and earn bigger rewards together! 🚀
#SingSingClub#RUBY#Halving#Blockchain
🎉 The RUBY Halving has officially occurred at 14:00 UTC! 🔥
Get ready to power up and mine even more precious RUBY! 💎 Don’t miss this opportunity to dig deep and earn big rewards together. 🚀
#SingSingClub#RUBY#Halving#Blockchain
🎉 800,000 Web3 users and counting! 🎉
We're beyond thrilled to see so many embracing the power of our SocialFi SDK.
This is just the beginning—let's keep building the future of decentralized social interactions together! 🚀
#SingSingClub#SocialFi#Web3Milestone
🌟 Exciting news! SingSing Mini App has launched Version 2! 🚀
Enjoy these amazing new feature:
🚨Claim RUBY: absolutely gas-free! 🎉 NO FEES, JUST RUBY!
⚠️ Remember, you only need to connect your wallet when minting tokens on-chain and you will soon be able to use RUBY in various games and projects within the SingSing ecosystem.
Also, a friendly reminder: Ruby token halving starts at 14:00 UTC. ⏰
Don't miss out on these upgrades and make the most of your SingSing experience!
#SingSingClub#RubyToken#CryptoUpdate
Don't forget to take care of your club and check your ranking daily!
💎 Your club will be a powerful tool in the exciting activities we have planned for SingSing.
Stay active and keep pushing for the top! 🚀🎉
#SingSingClub#RubyMining#CommunityPower
🚨 ANNOUNCEMENT 🚨
SingSing Quest & Mine Point programs are closing soon to make way for new and exciting reward programs! 🎉💎 Get ready for bigger and better prizes 🔥
⁉️⁉️Explanation
✅SingSing Quest is a program on SingSing's old Dapp, but currently, the Mission part of SingSing Tycoon Mini App is still live.
✅Mine Point on X is a program to interact with Post X to receive Points, now you can do Missions in Tycoon game, interact with X Post and earn $KARA
📌 Note: Points earned so far can still be redeemed as previously announced.
Stay tuned for updates and get ready to level up with our upcoming features! 🚀
#SingSingClub#BigRewards#GetReady
🎤Announcement | Chat | X (Twitter) | Website | Game
🎉 We're excited to announce our partnership with @SocialGrowAI! 🎉
Together, we'll empower our community with advanced AI-driven social growth tools. Get ready for new ways to connect, grow, and thrive in the SingSing ecosystem! 🚀
Stay tuned for more updates and innovations! 💡✨
#Partnership#SingSingClub#SocialGrowAI#AI#Web3
🌟 Exciting News! 🌟
We're thrilled to announce our partnership with @ARCreactorAI - world's best AI model, scoring #1 on the MMLU!
🤝 Together, we'll be taking your SingSing experience to the next level with cutting-edge AI innovations. Stay tuned for more amazing updates! 🚀✨
#SingSingClub#Partnership#ARCReactorAI#Innovation#NFT
🚨 LEAK ALERT 🚨
Big news, SingSingers!
🔥 $KARA is about to get new utilities that will change the game 🎮💎. Ready to unlock even more ways to use your $KARA? 👀
Stay tuned – details dropping soon! 🚀
#SingSingClub#KARA#BigUpdate#NewUtilities
🎤Announcement | Chat | X (Twitter) | Website | Game
🚨 SingSing Mini App Version 2 Update! 🚨
Here's what's new:
The RUBY in the "RUBY Balance" section is now off-chain RUBY, which you can claim completely gas-free! 🎉
1️⃣When you click the "Check Mission" button below the RUBY Balance Section, you'll see a "Mint" button. Hit "Mint" to convert your off-chain RUBY into on-chain RUBY. 🔄
2️⃣Scroll down to your Token List. The RUBY displayed here is your on-chain RUBY balance. After minting, your RUBY from the RUBY Balance section will move to this Token List balance. 💎
3️⃣With this new version, you can earn more RUBY with lower costs. Make the most of it and start stacking up RUBY for upcoming events with SingSing and our partners! 🚀
#SingSingClub#RUBYToken#CryptoUpdate#Version2