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
День независимости (Роланд Эммерих, 1996)
Обычно когда в кадре что-то плохое происходит с архитектурой, я внутренне сжимаюсь и воплю: «да что ж вы делаете, сволочи!». Но, надо отдать должное «Дню независимости», это красиво....
В этом фильме — беспрецедентное на тот момент разрушение. И по масштабам (сгорает весь Нью-Йорк) и по значимым памятникам (взрывают Эмпайр-стейт-билдинг, взрывают Капитолий, взрывают Белый дом, Статуя свободы лежит в руинах, рис 1-6). Для того, чтобы все это заснять, было сделано множество моделей разного масштаба, в которые закладывались реальные заряды, а съемка проходила с десятикратным замедлением. Подробнее о процессе можно прочитать здесь.
Эмпайр взрывается очень важно, поэтому в подсчете двух башен обновление:
Эмпайр — Крайслер
1 – 1
#мордочка_искусство_и_кино#мордочка_landmarks#towers
Люди в черном 3 (Барри Зонненфельд, 2012)
Пока я готовлю материал об архитектуре Хогвартса, другие вдумчивые размышления приходится откладывать, но посторонние идеи все равно лезут в голову.
Как известно, основной знак Нью-Йорка — его небоскребы, а из них всех в кадр чаще всего попадают Эмпайр-стейт-билдинг и Крайслер-билдинг. Вот мне и стало интересно; кто победит?
С этого дня начинам считать (#towers), но не любые появления на экране, а только те, где здание играет определенную роль в сюжете.
Итак, поехали: в третьей части «Людей в черном» агент Джей совершает прыжок во времени с крыши Крайслер-билдинг.
Эмпайр — Крайслер
0 – 1
#мордочка_искусство_и_кино#мордочка_landmarks#towers
昨天听Aaron Copland的Fanfare for Common Man,发现Joan Towers还写了一首Fanfare for the Uncommon Woman😆😆😆,分享一个back to back的performance~https://www.youtube.com/watch?v=2CcO_QookAU#American#Copland#Towers
Ombelle complex.
New York-based architecture studio ODA has revealed the design of Ombelle, a duo of residential towers.
Architect: ODA
Location: Fort Lauderdale, Florida.
#arch_shovel#architecture#newyork#news#ArchitectureNews#towers