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
Залипаю на #Sandro💔💔💔
Скидки по 50% и какое же все красивое 😭 прям захотелось опять в офис выйти, чтобы был повод закупиться платьями
Все, что на фотках -50% до 16000₽ (пишите для точной цены)
Кроссы - 11000₽ (-40%)
Есть такие-же в темной расцветке
Куртка черная - 22500₽ (-40%)
Есть бежевая
Куртка в узор просто афигенная из иск меха - 19000₽ (-50%)
Надо брать!!!
Ну и это пальто 😵🔫
- 77000₽ (-40%)
(Из овчины)
Кажется единственные, кто во все времена остаются не в восторге от тренда на школьную униформу, так это сами школьницы 😂 В мои 14 лет, когда мама прочла список обязательной одежды, нового учебного года - фурор был неописуемый. Я поняла какой это кайф одевать подростка во все эти миленькие рубашечки и юбочки, когда младшая сестра пошла в школу. Это как офисный лук, но все прикольнее. Помню мама предлагала мне тогда дополнить этот чудесный список, который мне не нравился ну совсем, пальтишком бёрбери, а я отказалась. Сказала, что это слишком для меня. Дурная что сказать….
Сейчас вообще замечаю, что у меня на 80% гардероб черно-белый. Может период и настроение такое, а может вьетнамские флешбеки дают о себе знать, кто знает.
Так или иначе, сейчас бы пальтишко с подкладкой из черно-бежевой клетки я бы конечно надела с превеликим удовольствием, как и кардиганчик #Sandro, например (ниже покидаю варианты из аутлетов). От лаковых чёрных галош я правда все ещё не фанатею, но это все видимо из-за высокого подъёма 🩰
Пока все неустанно напоминают про приближающийся самый маркетинговый праздник в году, я напомню, что грядет ещё целый месяц февральских морозов, во время которых 5 точку или хотя бы поясницу (бабка mood) нужно держать в тепле 🥶💙
#RalphLauren парка-конструктор (можно носить внутреннюю и внешнюю части вместе или по отдельности) - 28000₽ (-30%)
#Adidas by Stella McCartney - 36000₽
Ea7 #EmporioArmani - 27600₽ (-30%)
#Jacquemus - 49500₽ (-60%) 🔥
#Maje - 20000₽ (-40%)
#Sandro - 17800₽ (-50%)
#Burberry - 85200₽
#Bacon - 43500₽ (-40%)
#Jacquemus - 48700 (-55%)
Такое ни один байер со своими старомодными сумками в пузырчатый ромбик не покажет
Ещё раз посмотрите на сами вещи и финальную цену на этикетках.
Как говорит мой суженный «грех не купить»
Я серчила рынок и могу сказать точно - 80% байерских услуг в телеге выставляют самую верхнюю цену (просто потому что даже это дешевле чем в РФ ахаха)
А если вещь выглядит как из коллекции 10летней давности - девчонки, максимал 2 кэса ₽, отвечаю
Вас обманывают, если продают такую вещь дороже)
Может я сейчас весь байерский телеграмм рынок рушу, но просто знайте:
#Moschino, #MichaelKors, #Furla, #Pinko, #CalvinKlein, #Diesel, #Levi’s, #Coccinelle, #LIUJO, #Falconeri, #Blumarine, #ArmaniExchange, #Fabi, #VersaceJeans, #Sandro, #Twinset - это все на скидках продается по ооочень выгодным ценам.
Но надо знать где искать.
That’s why here I am 🙃
1. Я выставляю только то, что купила бы сама или посоветовала подругам
2. Пишу самую нижнюю стоимость с этикетки)
3. Оцените модель от 1 до 10))
#сравнитецену