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
В Риге кстати до сих пор продолжают находить сокровища из прошлого. Совсем недавно во время ремонта фасада по адресу Tērbatas 6/8 было обнаружено вот это.
Скорее всего написано: Galvenais meistars (Главный мастер) #riga
Подробнее про несколько настенных надписей.
1. Сохранившаяся реклама на стене дома. "Папиросы "Рай" фаб. А.С.Майкапаръ" (1887 - 1940) Во времена первой Латвийской республики фабрика Майкапара была крупнейшим табачным предприятием Латвии.
2. Пуговичная мануфактура Ракузина. Пуговичное заведение было основано в 1883 году мещанином Ц. Ш. Ракузиным.
3. На Чиекуркальной линий (район Риги) шла бойкая торговля мясом и колбасой.
4. Со времен 2-й мировой войны сохранился указатель на случай бомбежки: "Убежище - в направлении Зиедоньдарзса".
5. Tapezierer - по-немецки обойщик. За этой дверкой работал мастер по наклейке обоев.
6. Колониальная торговля. В колониальных лавках торговали экспортным провиантом: специями, чаем, кофе, табаком, винами. #riga
Это мое видео про Ригу и ее прошлое, слои истории в городе видны иногда очень явно, а порой надо присмотреться и увидишь как история смотрит на тебя. #art
https://www.instagram.com/zhivoe1/#riga
🎬@zeitframe
📝 Рига о начале реконструкции одного из старейших районов Чиекуркалнс. Čiekurkalns, дословно «Гора шишек» Застройка района началась около 1870 года на землях усадьбы Шрейенбуш. Первоначально главная улица называлась Шрейенбушская 1-я линия. Застройка велась без плана, официальных названий улицам не давали, и до настоящего времени старейшие улицы Чиекуркалнса называются «линиями». #рига#Латвия#riga#latvia#прошлое
@ciekurkalns
Всем привет, меня зовут Андрей Першин. Это мой телеграм-канал, где я рассказываю про все, что мне интересно. Мое творчество — это фотографии, анимация и подкаст.
Я родился в Удмуртии, жил в Ижевске, Казани и Москве, в начале 2017 года уехал из страны и жил в Латвии, с февраля 2023 года живу в Берлине.
Для удобства отметил почти все посты тегами, можете выбрать, что вам интересно. Спасибо, что читаете, смотрите, слушаете и поддерживаете.
#de Германия
#ru Россия
#lv Латвия
#ud Удмуртия
#mo Москва и область
#ua Украина
#fr Франция
#iz Ижевск
#riga
#me Личное, мысли
#art Творчество
#pod Подкаст
#bam Байкало-Амурская магистраль
#vld Владивосток
#psk Псков
#kazan Казань
#nn Нижний Новгород
#smol Смоленск
#ot Другое