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
Рецепт лимонных французских блинчиков с маком 🍋
Ингредиенты:
Для блинов:
• Яйцо – 1 шт.
• Мак – 1/2 ст. л.
• Цедра лимона – от 1/2 до 1 лимона
• Молоко – 120 мл
• Оливковое масло – 1 ч.л.
• Мука – 1/3 стакана
• Соль – щепотка
• Сахар – 2 ст. л. по желанию
Для начинки:
• Рикотта или сливочный сыр – 4 ст. л.
• Мёд – по вкусу
Для ягодного соуса:
• Голубика – по вкусу
•Сахар – 1 ст. л.
Дополнительно:
• Мёд или сироп – по вкусу
• Соль в хлопьях – по вкусу
Способ приготовления:
1. В миске смешать яйцо, мак, цедру лимона, молоко и немного оливкового масла.
2. В другой миске соединить муку, щепотку соли и, при желании, сахар.
3. Влить жидкие ингредиенты в сухие и хорошо перемешать до однородности, чтобы не осталось комочков.
4. Разогреть сковороду, смазать её сливочным или растительным маслом.
5. Влить порцию теста и распределить по поверхности тонким слоем. Готовить на среднем огне до момента, когда блинчик можно будет перевернуть, затем поджарить ещё несколько секунд с другой стороны.
6. Для начинки смешать рикотту или сливочный сыр с медом.
7. Если используете ягоды, прогреть их с сахаром около 5 минут, пока масса слегка не загустеет.
8. Намазать начинку на одну половину блинчика, добавить ягоды, сложить пополам, затем ещё раз пополам.
9. Подавать с мёдом.
#recipe
Рецепт бананавого тирамису 🍌
Ингредиенты:
Для бананового хлеба:
• Бананы – 3 шт.
• Кокосовое масло, растопленное – 80 мл
• Кленовый сироп – 120 мл
• Молоко – 60 мл
• Яйца – 2 шт.
• Ванильная паста – 1 ч. л.
• Миндальная мука – 150 г
• Самоподнимающаяся мука – 90 г
• Разрыхлитель – 1/4 ч. л.
• Корица – 2 ч. л.
Для крема с маскарпоне:
• Маскарпоне – 250 г
• Сливки для взбивания – 250 г
• Кленовый сироп – 60 мл
• Эспрессо – 1 шот
• Ванильная паста – 1 ч. л.
• Корица – 1 ч. л.
Для бисквитного слоя:
• Печенье савоярди – 12 шт.
• Кофе – 4 шота
• Кленовый сироп – 4 ст. л.
Дополнительно:
• Карамельный соус – по вкусу
Способ приготовления:
1. Разогреть духовку до 180°C и застелить форму для кекса объемом 1 л бумагой для выпечки.
2. Бананы размять до однородности. Добавить кокосовое масло, кленовый сироп, молоко, яйца и ванильную пасту, затем перемешать.
3. Всыпать миндальную муку, самоподнимающуюся муку, разрыхлитель и корицу. Аккуратно перемешать до однородного теста.
4. Перелить тесто в форму и выпекать 45-55 минут до золотистого цвета. Проверить готовность шпажкой. Полностью остудить.
5. Для крема взбить маскарпоне, сливки, кленовый сироп, эспрессо, ванильную пасту и корицу до гладкой, слегка плотной текстуры.
6. Для пропитки смешать кофе и кленовый сироп в неглубокой миске.
7. Застелить форму бумагой для выпечки, оставив края свисать. Банановый хлеб разрезать вдоль на 3 ровных пласта толщиной около 0,5–1 см.
8. На дно формы уложить первый пласт бананового хлеба, сверху распределить тонкий слой крема.
9. Савоярди быстро окунуть в кофейную пропитку на 1–2 секунды и выложить плотным слоем поверх крема.
10. Сверху добавить ещё слой крема, полить карамельным соусом и накрыть вторым пластом бананового хлеба.
11. Повторить слой с пропитанным печеньем и карамелью, затем завершить сборку кремом и последним пластом бананового хлеба.
12. Убрать десерт в холодильник минимум на 5 часов, лучше на ночь.
13. Аккуратно достать из формы, сверху добавить оставшийся крем и ещё немного карамельного соуса.
#recipe
Рецепт брауни из авокадо и какао 🥑🍫
Ингредиенты:
• Авокадо – 400 г
• Какао несладкий – 70 г
• Яйца – 3 шт.
• Коричневый или кокосовый сахар – 120 г
• Миндальная мука – 40 г
• Соль – 3 г
• Ванильный экстракт – 5 г
• Остывший эспрессо – 5 г
Способ приготовления:
1. Мякоть очень спелого авокадо пробить блендером до абсолютно гладкой массы в течение 2 минут.
2. Добавить сахар и перемешать. Затем по одному ввести яйца, каждый раз полностью вмешивая. Добавить ваниль, эспрессо и соль.
3. Просеять какао прямо в миску, добавить миндальную муку и аккуратно перемешать лопаткой до однородности, не взбивая.
4. Форму 20×20 см застелить пергаментом, смазать маслом, выложить тесто и разровнять.
5. Выпекать при 175°C без конвекции 20-22 минуты. Зубочистка должна выходить с влажными крошками.
6. Остудить в форме минимум 2 часа. Для лучшего вкуса убрать в холодильник на ночь.
via lerasarcasm
#recipe
В Restaurant by Deep Fried Friends появился новый весенний спешл – хрустящие домашние чипсы с вяленой уткой, сыром фета, халапеньо и вялеными томатами 🦆
#recipe
Рецепт десерта Рафаэлло-тирамису 🥥✨
⠀
Ингредиенты:
• Яичные желтки – 2 шт.
• Эспрессо – 100 мл
• Маскарпоне – 250 г
• Сахар – 35 г
• Ванильный сахар – 1 пакетик
• Савоярди – 10-15 шт.
• Конфеты Raffaello – 150 г
• Кокосовая стружка – для украшения
⠀
Способ приготовления:
1. Приготовьте крепкий кофе без сахара и полностью остудите. При необходимости можно сделать немного больше – савоярди впитывают разное количество жидкости.
2. Взбейте желтки с сахаром и ванильным сахаром на средней скорости до посветления и растворения сахара.
3. При желании крем можно пастеризовать: поставьте миску с желтками и сахаром на водяную баню и, постоянно помешивая, прогрейте до 70-75 °C. Важно не перегреть, иначе масса свернётся. Остудите.
4. Добавьте маскарпоне и аккуратно перемешайте на минимальной скорости до однородности.
5. Быстро окуните савоярди в кофе (буквально на секунду, чтобы не размокли) и выложите слой в форму.
6. Сверху распределите половину крема и посыпьте 7-8 измельчёнными конфетами Raffaello.
7. Повторите слой савоярди, затем выложите оставший крем.
8. Посыпьте кокосовой стружкой и украсьте целыми конфетами Raffaello.
9. Уберите в холодильник минимум на несколько часов для стабилизации. Подавайте охлаждённым.
⠀
#recipe
Рецепт блинного торта в виде розы 🌹🥞
⠀
Ингредиенты:
Блины:
• Молоко – 500 мл
• Яйца – 3 шт.
• Мука – 2 стакана
• Сахар – 2 ст. л.
• Соль – 1 ч. л.
• Какао – 2 ст. л.
• Растительное масло – 3 ст. л.
• Красный пищевой краситель – по необходимости
⠀
Крем:
• Взбитые сливки (смесь) – 1 упаковка
• Сливки 35% – 200 мл
• Ванилин – 1 пакетик
⠀
Способ приготовления:
1. В миске соедините яйца, сахар и соль, слегка взбейте венчиком. Влейте молоко и перемешайте до однородности.
2. Просейте муку с какао и постепенно вмешайте в жидкую смесь. Добавьте растительное масло и красный пищевой краситель до получения насыщенного оттенка. Тесто должно быть гладким и текучим.
3. Разогрейте сковороду и выпекайте тонкие блины с двух сторон. Полностью остудите.
4. Взбейте сливки 35% с ванилином до мягких пиков. Отдельно приготовьте взбитые сливки из смеси по инструкции и аккуратно соедините обе массы.
5. Соберите торт, промазывая каждый блин тонким слоем крема.
6. Уберите в холодильник минимум на 2-3 часа для стабилизации. Украсьте по желанию.
#recipe
Рецепт риса с манго 🥭🍚
⠀
Ингредиенты (на 2–3 порции):
• Рис – 300 г
• Вода – 480 мл
• Кокосовое молоко – 400 мл
• Сахар – 100 г
• Кукурузный крахмал – 1 ст. л.
• Вода – 2 ст. л.
• Спелый манго – 1-2 шт.
⠀
Способ приготовления:
1. Тщательно промойте рис до прозрачной воды. Переложите рис в рисоварку, залейте водой и приготовьте до мягкости.
2. Пока готовится рис, в сотейнике соедините кокосовое молоко и сахар. Нагревайте на среднем огне, постоянно помешивая, пока сахар полностью не растворится.
3. Когда рис будет готов, залейте его 250 мл сладкого кокосового молока. Аккуратно перемешайте, накройте крышкой и оставьте на 15-20 минут, чтобы рис пропитался.
4. В небольшой миске смешайте кукурузный крахмал с водой до однородности.
5. Оставшееся кокосовое молоко верните на средний огонь, введите крахмальную смесь и готовьте, постоянно помешивая, до лёгкого загустения соуса.
6. Манго очистите и нарежьте ломтиками. Выложите рис на тарелку, добавьте манго и полейте кокосовым соусом.
#recipe
Рецепт острой лапши с курицей и арахисово-мисо соусом 🍜🍗
⠀
Ингредиенты (на 2 порции):
Мисо-арахисовый соус:
• Арахисовая паста – 40 г
• Белый мисо – 25 г
• Рисовый уксус – 20 мл
• Соевый соус – 20 мл
• Вода – 65 мл
⠀
Салат:
• Огурец – 1/2 шт.
• Свежая кинза – 10 г
• Зелёный лук – на вкус
⠀
Курица:
• Чеснок – 1 зубчик
• Кочуджан – 1 ст. л.
• Хлопья чили – 1 ст. л.
• Соевый соус – 1 ст. л.
• Рисовый уксус – 1 ст. л.
• Куриный фарш – 400 г
• Растительное масло – 1 ст. л.
⠀
Для подачи:
• Лапша удон – 200 г
⠀
Способ приготовления:
1. В миске соедините арахисовую пасту, белый мисо, рисовый уксус и соевый соус, смешайте до однородности. Постепенно введите воду, взбивая венчиком.
2. Огурец нарежьте тонкими полукольцами, кинзу оборвите, зелёный лук тонко нарежьте. Смешайте в миске.
3. В блендере соедините чеснок, кочуджан, хлопья чили, соевый соус, рисовый уксус и белую часть зелёного лука. Измельчите до гладкого соуса.
4. Разогрейте большую сковороду на сильном огне, добавьте растительное масло и куриный фарш. Прижмите его лопаткой и дайте хорошо подрумяниться с одной стороны, затем переверните и доведите до готовности. Влейте острый соус и готовьте 2–3 минуты до густой текстуры.
5. Отварите лапшу удон в подсоленной воде согласно инструкции на упаковке. Перед сливом сохраните немного воды от варки.
6. Смешайте лапшу с мисо-арахисовым соусом, добавив немного воды от варки до глянцевой консистенции.
7. Разложите лапшу по тарелкам, сверху выложите острую курицу и салат. При желании добавьте ещё немного соуса.
#recipe