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
Startaplar dunyosida tabiiy saralash qanday ishlaydi?
Bu borada Datasite, KPI.com va Zip24 Tech startaplari asoschisi, tajribali serial texnologik tadbirkorMuzaffar Karabayev o‘z fikrlari bilan bo‘lishdi.
Startaplar dunyosida har bir loyiha raqobatga duch keladi. Har 10 startapdan faqat 3 tasi eng yaxshi rejaga ega bo‘lib, haqiqiy muvaffaqiyat sari yo‘l oladi, 5 tasi esa yopilib ketishi mumkin.
Startaplar haqida ko‘proq bilish uchun bizni kuzatib boring!
__
How does natural selection work in the startup world?
Muzaffar Karabayev — founder of Datasite, KPI.com, and Zip24 Tech, and an experienced serial tech entrepreneur — shared his insights on this topic.
In the startup ecosystem, every project faces competition. Out of every 10 startups, only 3 have the strongest strategy and move toward real success, while 5 may eventually shut down.
Follow us to learn more about startups!
#StartupInsights#FounderTalk
@startupbaseuz
"Startup" nima?
Muammoni hal qilish bu shunchaki g‘oya emas, to‘g‘ri, arzon, qulay va tez yechim berishdir.
Startaplar haqida ko‘proq bilish uchun bizni kuzatib boring!
—
What is a “startup”?
Solving a problem is not just about having an idea — it’s about delivering the right, affordable, convenient, and fast solution.
Follow us to learn more about startups!
#StartupInsights#FounderTalk
@startupbaseuz
"Startup" nima?
Muammoni hal qilish bu shunchaki g‘oya emas, to‘g‘ri, arzon, qulay va tez yechim berishdir.
Startaplar haqida ko‘proq bilish uchun bizni kuzatib boring!
—
What is a “startup”?
Solving a problem is not just about having an idea — it’s about delivering the right, affordable, convenient, and fast solution.
Follow us to learn more about startups!
#StartupInsights#FounderTalk
@startupbaseuz