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
🕵️#MEGA Bubblemaps: MEGA tokens were distributed among 8,360 addresses, with approximately 50% of addresses still holding all the tokens. About 40% of addresses have sold them completely, and around 10% of addresses have sold only a portion of the coins. link
Guillaume Faye left us on March 6, 2019, at the age of 69. He was a unique figure who leaves behind an extensive body of work. Like the ancient Greek heroes of old, he will achieve immortality if we continue to share his ideas. Guillaume laid the foundations—now it is up to us, dear comrades, to build the sanctuary of European civilization!
#MEGA
¿Que puede hacer este bot?
@MegaUploadXbot
Este bot cargará archivos y vinculará directamente a su cuenta de Mega entre otras características.
Idioma: inglés
(Visto en @botsgram_cu)
#mega