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
#happier
...то есть, из-за того, что мне неловко писать на "сторонние темы", моё мимолётное увлечение пиратами пройдёт мимо моего блога? И в будущем, если я вдруг про него вспомню, то не найду ничего, что оставила бы себе же на память?
Снова клубок тем, но в первую очередь – "о чём писать можно, а о чём нельзя". В блоге я в основном думаю вслух, и думать пытаюсь о чём-то субъективно важном: пока пишу, часто переосмысляю свои же убеждения.
А потом:
"Ого, Wiktionary говорит, что греческое καραμέλα – это заимствованное итальянское caramella! ...стойте, а ведь Греция и Италия же сравнительно близко друг к другу..."
В случае же с пиратами получилось так, что желание безопасно и малозатратно пробовать новое совпало с более близким знакомством с Heroes of Might and Magic 3: Horn of the Abyss, где есть пираты, причём довольно крутые. Играть я устала через три дня (я играю в Героев уже ~17 лет, насколько помню, такое почти кому угодно надоест), но теперь то, что я делаю, я делаю под вариации морских песен. Например.
Тут есть и какое-то новое практическое знание, которым можно поделиться, но, кажется, формат "дельта на дельте" меня не только утомил, но и запер в узких рамках. Мне кажется, что нужно писать о чём-то, что читатели смогут использовать сами; в итоге мне самой тесно, потому что жизнь зачастую далеко не только про полезность.
С другой стороны, почему я говорю, что увлечение пиратами мимолётно: ему всего пара дней, и я специально не углубляюсь в тему – это всё действительно далеко от того, чем я обычно занимаюсь, и хотя мне интересно, я не хотела бы обменивать свои немногие ресурсы именно на эту тему среди всех остальных. В то же время музыка навевает дух приключений, который в реальной жизни у меня бывает очень редко – и мне действительно не хватает вдохновляющих штук.
И, как обычно, я не очень согласна заметать под ковёр вещи, от которых мои глаза загораются. Особенно если не соглашаюсь я сама с собой.
#happier
Сижу холодными зимними вечерами и рассказываю про Героев Меча и Магии, или про тропы, или про тропы в Героях Меча и Магии... :)
Мало пишу об этом, но в последнее время (не больше месяца-двух) я порой внезапно обнаруживаю у себя экспертность, которую ценю и в других.
Экспертность ощущается через "ого, оказывается, я знаю намного больше, чем думала". Как обычно, это не значит, что все остальные люди проживают это так же или что я всегда проживаю это именно так.
Да, скорее всего, я не буду выигрывать онлайн-турниры и не знаю и десятой части 31773 тропов на ТВТропах. Тем не менее я играла в Героев так много, что теперь пятая часть надоедает мне уже на главном меню, а на ТВТропах было проведено немало вечеров.
Но обычно я не ощущаю прогресс в таких вещах... Пока не начинаю о нём говорить кому-то ещё. Вдруг оказывается, что я помню намного больше деталей, чем думаю.
Мотивирует больше изучать темы, которые, кхм, ассоциируются у меня с работой; хочется больше положительного подкрепления такого рода. "Да, я знаю".
#happier
...так вот, теория категорий.
Думаю, весь дальнейший пост будет звучать весьма наивно/расплывчато из-за того, что я не очень разбираюсь в том, о чём говорю. Щито поделать.
Слова "я изучаю теорию категорий" из моих уст могут звучать довольно кринжово. Я, человек, в апреле заново проходивший логарифмы к ЕГЭ, вдруг интересуюсь одной из самых абстрактных областей в математике...
...но ведь потому и интересно: я могу не очень хорошо считать, но я люблю находить паттерны и смотреть на происходящее с пост-пост-мета-мета позиции. "Пусть сначала сломается" (с) – не хочу откидывать интересное только потому, что люди с моим уровнем обычно его не понимают; а если не пойму сама, то всегда смогу задать себе вопрос "почему?" и пойти гуглить точечно.
Поиск паттернов, в свою очередь, вызывает у меня мысли о дискурс-анализе. Я не знаю, определились ли исследователи с тем, что такое "дискурс"; я его интерпретирую скорее как совокупность высказываний различных форм и содержания, а дальше, кхм, становится сложнее.
Для меня одна из самых захватывающих штук в дискурс-анализе – это попытка обнаружить то, о чём автор не говорит явно. Почему люди пишут так, как пишут? Потому что так принято, потому что они не имеют возможности сказать прямо? И ведь по сей день некоторые древние тексты переведены, но до сих пор не расшифрованы до конца – нужный культурный контекст уже утерян, а метафоры и прочее остались.
А потом я начинаю поглядывать на Eliciting Latent Knowledge – одну из открытых проблем AI Safety. На суперрукомахательном уровне – "допустим, ИИ владеет некой информацией, которую он не сообщает людям в ответ на запрос; как понять, что ИИ недоговаривает/лжёт?".
Я не знаю, насколько социальные и прочие факторы влияют на обучение ИИ, но сама эта задача – "вытащить наружу некое неявное знание" – всё ещё звучит интересно, хотя я ожидаю, что методы дискурс-анализа тут вряд ли будут хорошо работать.
И, что занятно: узкие, конкретные исследовательские вопросы и области могут сильно различаться, но общие, широкие вопросы и закрываемые ими потребности могут быть одинаковыми.
И, немного в сторону: даже если выяснится, что все эти области выглядят не так, как я думаю сейчас, когда я знаю о них лишь понаслышке, – ничего страшного. Я могу понять, что это не моё, и пойти закрывать общие интересы другими способами; могу полюбить эти сферы за что-то ещё. Мои новичковые, наивные представления о том, как работает мир – это не те убеждения, за которые я хочу держаться дольше необходимого.
#happier
Тем временем коллеги из Сербии открыли новый AI Safety коворкинг в Белграде. 🎉
Я сама вряд ли там буду в обозримом будущем, но если вдруг кто-нибудь искал такое AIS/EA/LW-сообщество — вот оно! :з
Вчера хотела написать ещё пост про штуки, которые меня радуют, но "я и так уже написала две стены текста и третью репостнула — да, укладываюсь в свой же лимит 5 постов/день, но куда ещё одну такую же".
Но! В последнее время потихоньку становится лучше эмоционально, и хочется хотя бы немного сместить акценты.
Проблемы из жизни не исчезают — но я постепенно становлюсь радостнее.
#happier
#happier
...я писала пост, который начинался как-то так и должен был иметь какой-то такой посыл:
Недавно я пережила кризис веры и глубокий провал в мотивации, поэтому уже неделю-две как читаю и смотрю в первую очередь то, что интересно именно мне — даже если оно напрямую не связано с рациональностью, эффективным альтруизмом или AI Safety.
Я считаю, что знания из других областей всё равно полезны, даже если это не то, чем я занимаюсь на постоянной основе — и любопытство не враг мне.
...поэтому теория категорий.
Почему вы сейчас читаете (если, конечно, вы обновили тг до последней версии) именно этот пост, а не тот? Потому что я ставлю ссылки на источники, и в этом случае источник — эссе Юдковского "Кризис веры"...
...которое, оказывается, я не читала дальше первого абзаца и которое вообще не про то, что я хотела написать.
Но я прочитала — и это эссе, а потом ещё одно (надо ставить ссылки на источники! ой, это короткое и выглядит интересно, пусть будет ещё одно).
Здесь можно было бы выйти на что-нибудь поучительное вроде "Чекайте источники" -> "Не ограничивайтесь чем-то одним, если вам любопытны и другие вещи", но на самом деле мне хотелось поделиться радостью.
Увы, в последнее время я не очень много радуюсь и ещё меньше об этом пишу — но даже в лучшие времена не так уж много вещей заставляет меня встать со стула и пойти танцевать.
Всё-таки источник не виноват в том, что я долго читала именно его — он не теряет своей полезности от этого.
Но, зная, что я не хочу (а, быть может, и не могу) поглощать так много материала за один присест, я разрешаю себе свободно плавать и изучать разное — зная, впрочем, что у меня есть Цель, ради которой я вплетаю отдельные ниточки в цельное полотно своей картины мира.
И иногда я возвращаюсь — со свежим взглядом, с новыми знаниями и опытом — и обнаруживаю, что мне всё ещё интересно. И что мотивацией тоже можно управлять.
Happier - Olivia Rodrigo ('60s Girl Group Style) ft. Allison Young
2022-03-04 by PostmodernJukebox
#OliviaRodrigo#Happier#OliviaRodrigocover#Happiercover#OliviaRodrigoHappier#HappierOliviaRodrigo#OliviaRodrigoHappiercover
#YouTube#liked