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
Qadrli doʻstlar,
Bizga tanish boʻlgan minnatdorchilik soʻzlari, Rahmat, Thank you, Danke yoki Spasibo bizda iliqlik va mehr tuyg’ularini uyg’otadi.
Hayotda minnatdor boʻlish uchun doim sabab topiladi.☝️
Bu uning barcha jabhalarida qadrlashning eng oson yoʻli.😊
Biz bilan boʻlganingiz uchun rahmat.
Bizni tanlaganingiz uchun rahmat. 👍
- - - - -
Дорогие друзья,
Знакомые слова благодарности, Рахмат, Thank you, Danke или Спасибо, дарят нам тепло и добро.
В мире всегда есть за что быть благодарным.☝️
Это самый простой способ ценить жизнь во всех ее проявлениях.😊
Спасибо, что Вы с нами.
Рахмат, что выбираете нас.👍
Сайт|Facebook|Instagram
#knaufuzbekistan#knauf#spasibo#rahmat
☀️Bugun biz Xalqaro "Minnatdorchilik" kunini nishonlayapmiz.
💫Fursatdan foydalanib Sizga bizni qo'llab-quvvatlaganingiz, bebaho maslahatlaringiz, mulohaza va takliflaringiz uchun tashakkur deymiz.
________________
☀️Этот солнечный день ознаменован как Международный день "Спасибо".
💫Сегодня мы хотим сказать Спасибо за то, что Вы с нами, за Ваши бесценные советы, отзывы и предложения.
#Artel#Arteluzb#Спасибо#Rahmat
🎉
Xurmatli Prezidentimiz Shavkat Miromonovich nomlaridan “Fidoi vatanparvar” ordeni taqdim etildi.
Bu medal — mening emas, bu yoʻlda birga boʻlgan yaqinlarimizniki.
Avvalo Allohga shukr, keyin esa:
– Orqamda duo qilgan ota-onamga,
– Har doim ishonch bildirgan oila a’zolarimga,
– Yelkadosh bo‘lgan jamoamga,
– Menga ishonch bergan ustoz va rahbarlarga,
– Va albatta, meni kuzatib borayotgan har bir insonga — minnatdorman!
Bu medal hammamizniki.
#Minnatdorchilik#Medal#Rahmat