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
#idioms
💥Let the 'side down (BrE)
○to disappoint your
family, friends, team, etc. by not being as
successful as they expect, or not helping or
supporting them.
☆ John would never let the side down.
☆ I knew I was letting the side down (=
disappointing my family, etc.) by not going to
college.
#idioms
💥Water off a duck's back
○criticism or unpleasant things have no effect on someone; they don't take it personally.
▪️ No matter how much they criticize her, it's like water off a duck's back — she just keeps going.
▪️ He laughed off all the negative comments, letting them be water off a duck's back.
#idioms
💥A BOOTLICKER
🔅Someone who flatters or obeys others in power to gain favour.
▪️Jeff is such a bootlicker, always agreeing with the boss no matter what.
#idioms
☆Crunch time
•The period of time just before a project has to be completed and everyone has to work hard .
●I’m not getting much sleep these days,
because it’s crunch time at work.
#idioms
☆Run on fumes
•To continue to stay awake when feeling exhausted .
●I really have to take a nap now. I haven’t slept for twenty hours and I’m
running on fumes.
#idioms
⚜Turn the clock back
●to return to a situation that existed in the past; to return to
old-fashioned methods or ideas.
●This new law is
an attempt to turn the clock back.
#idioms
💥 leave sb to their own devices
▪️to leave sb alone to do as they wish.
🔅Once I’ve explained things to him I tend to leave him to his own devices.
#Idioms
💢To pull out all the stops
♠️To make every possible effort to get something done
Ex:- The company pulled out all the stops to advertise their new product.
#idioms
💥in a bind | fix | jam
⚜If someone is in a bind, or in a jam, or in a fix, they're in a bad or difficult situation.
⚡️Jimmy's in a bind because he owes a lot of money to some mafia guys, and he hasn't got it.