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
Saint Mx6
Бренд, основанный в 2020 году японским дизайнером Ютой Хосокавой и американским художником Кали Торнхилл ДеВиттом.
Юта Хосокава получил известность благодаря бренду Readymade, а Кали Торнхилл ДеВитт работал над рядом арт-проектов, включая создание мерча для тура Канье Уэста The Life of Pablo.
Бренд сочетает интерес к винтажной эстетике с современным уличным стилем, уделяя особое внимание ручному производству и материалам. В работе используются специальные методы печати, обеспечивающие долговечность и сохранность изображений.
Saint Mx6 доступен в магазине и в нашем приложении.
#saintmx6
SAINT MX6 BOX/MULTI
Цветовая палитра контейнера вдохновлена эстетикой постмодернизма — одного из ключевых направлений в дизайне 1980-х годов. Функциональный и эстетичный, он подойдёт для организации пространства: можно использовать как журнальный столик, табурет или вместительное решение для любых мелочей. Контейнер легко складывается и в сложенном виде почти не занимает места, что делает его транспортировку более удобной. Благодаря универсальным материалам, подойдёт для дома, автомобиля, хозяйственных задач и использования на открытом воздухе.
Для оформления заказа, уточнения цен и размеров - @infobeliefmoscow
#saintmx6
Selected SAINT MX6
Новое поступление от Saint Mx6 уже доступно для заказа.
Для оформления заказа, уточнения цен и размеров - @infobeliefmoscow
#saintmx6
One Suggestion.
Новое поступление от Old Joe & Co., Saint MX6, A.Presse, visvim.
Оформить заказ можно в приложении или через личные сообщения — @infobeliefmoscow
#oldjoe#saintmx6#apresse#visvim
CHOOSE SOCKS
Носки от SAINT MX6, Yoko Sakamoto, Black Sign, Cav Empt
Для оформления заказа, уточнения цен и размеров - @infobeliefmoscow
#saintmx6#yokosakamoto#blacksign#cavempt
Caps Selection
Spring/Summer 2025
Для оформления заказа, уточнения цен и размеров - @infobeliefmoscow
#wtaps#alchemist#saintmx6#masu#cavempt#liberaiders#neighborhood