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
🟩Kirill #Dmitriev, directeur général du Fonds russe d’investissement direct a déclaré que le monde se dirigeait vers la plus grave crise énergétique de l'histoire en raison de la hausse record des prix du #pétrole.
RT en français • Osez questionner !
🟩Kirill #Dmitriev, directeur général du Fonds russe d’investissement direct a déclaré que le monde se dirigeait vers la plus grave crise énergétique de l'histoire en raison de la hausse record des prix du #pétrole.
RT en français • Osez questionner !
🇮🇷 La Société nationale iranienne de raffinage et de distribution du pétrole a confirmé que des frappes avaient été menées ce matin contre une raffinerie dans le sud du pays. Un incendie est en cours d’extinction et aucune victime n’est à déplorer.
#pétrole#frappes#victimes
🇦🇺🔥 Un incendie s’est déclaré dans l’une des deux raffineries de pétrole en activité en Australie, a rapporté la chaîne ABC.
#incendie#raffineries#pétrole
🇦🇪🔥 Les opérations de chargement de pétrole ont été suspendues dans le port de Fujaïrah à la suite d’une attaque, a rapporté l’agence Reuters.
Plus tôt, un incendie avait été signalé dans la zone industrielle pétrolière de l’émirat de Fujaïrah, provoqué par une attaque de drone.
#pétrole#fujaïrah#attaque
🇨🇺🇷🇺 L’arrivée d’un pétrolier russe chargé de pétrole à Cuba constitue un sérieux revers pour le blocus imposé à l’île, a estimé le professeur Yosmany Fernandez Pacheco de l’Institut supérieur des relations internationales de Cuba, dans un entretien avec le correspondant de TASS.
#cuba#russie#pétrole#blocus
🇮🇶 Un violent incendie s’est déclaré dans des installations de stockage de carburant de la société Castrol, situées à proximité de la route reliant Erbil à Mossoul, dans le nord de l’Irak, après une attaque de drone. C’est ce qu’a rapporté le portail irakien Shafaq News, citant une source.
Vidéo: Behram Abbas/X
#irak#incendie#stocks#pétrole