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
Мы знаем — вы любите исследования! Поэтому создали тематический раздел на сайте aic.sprint 🤞 Сейчас там опубликовано два исследования: про доступные сайты и онлайн-фарму. Приглашаем вас почитать их 🔥
#aicsprint
Что делать бизнесу, если его приложение больше нельзя скачивать?Как остановить отток клиентов? Подготовили карточки про изменившийся клиентский опыт 🙌
Полезная ссылка: https://sprint.aic.ru
#aic#aicsprint
Друзья, у нас отличная новость — мы запустили aic.sprint. Это методика, с помощью которой можно собрать и протестировать прототип за очень короткий срок.
Наша задача, с одной стороны, создать условия и предоставить данные необходимые для совместного поиска и принятия решений, с другой — усилить корпоративную команду заказчика нашими экспертами, которые
приземлят идею на цифровой прототип.
Независимо от отрасли вашей компании, спринты помогут вам:
☑️ быстро отреагировать на рыночные изменения, сформулировать гипотезу роста и приземлить ее на цифровой прототип;
☑️ ускорить запуск новых продуктов, сервисов или направлений «с нуля»;
☑️ цифровизировать офлайн-процессы;
☑️ ну и в целом – убрать разрыв между идеей и реализацией!
Мы проведем все необходимые исследования, вместе с вами придумаем оптимальное решение и протестируем его на реальных пользователях. В результате вы получите решение, которое сможете внедрить в свой продукт.
Оставляйте заявку на sprint.aic.ru!
https://sprint.aic.ru
#aic#aicsprint
Друзья, представляем вам наше новое исследование. Оно посвящено изменениям, которые затронули отечественный бизнес в связи с санкциями. В отчете мы:
⚫️ приводим обзор 10 основных отраслей, которых затронули ограничения;
⚫️ анализируем опыт других стран, которые сталкивались с санкциями ранее;
⚫️ рассказываем, какие существуют меры господдержки;
⚫️ приводим комментарии экспертов по теме.
В исследовании мы использовали данные из открытых источников. Чтобы получить отчет, заполните форму на сайте — так вы откроете доступ к скачиванию.
https://sprint.aic.ru/research/
#aic#aicsprint#исследования
20 мая мы провели воркшоп в формате дизайн-спринта на Российском интернет-форуме (РИФ). Тема — «Дизайн пользовательских сценариев в метавселенной банка».
На нем мы не только рассказали про нашу методику, но и в реальном времени показали, как она работает. Участники воркшопа разрабатывали идеи и
собирали прототип из Lego.
Листайте фотографии и отзывы 🙌
А если вы хотите попробовать эту методику в своей команде, то оставляйте заявку на sprint.aic.ru!
#aic#риф2022#sprint#aicsprint