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
“Lo #sport porta con sé anche delle tentazioni: quella della prestazione a ogni costo, che può condurre fino al #doping. Quella del profitto, che trasforma il gioco in mercato e lo sportivo in divo. Quella della spettacolarizzazione, che riduce l’atleta a un’immagine o a un numero”. A lanciare il grido d’allarme è stato Papa #LeoneXIV che questa mattina, nella Sala Clementina del Palazzo Apostolico, in Vaticano, ha ricevuto in udienza gli atleti italiani e paralimpici che hanno preso parte ai Giochi di #MilanoCortina2026.
"Contro queste derive, la vostra testimonianza è essenziale - l’omaggio ai presenti -. Voi siete stati testimoni di un modo onesto e bello di abitare il mondo. Portate l’idea che si possa gareggiare senza odiarsi. Che si possa vincere senza umiliare. Che si possa perdere senza perdere sé stessi”.
“E questo vale anche oltre lo sport - ha osservato il Pontefice -. Vale nella vita sociale, nella politica, nelle relazioni tra i popoli. Perché lo sport, se vissuto bene, diventa un laboratorio di umanità riconciliata, dove la diversità non è una minaccia, ma una ricchezza”.
“In un’epoca di grandi sfide climatiche, questi Giochi ci ricordano anche il legame tra sport e natura e il nostro dovere di prenderci cura della casa comune”, ha sottolineato il Santo Padre, affidando infine a tutti gli #atleti una missione: “continuare a far sì che la persona rimanga al centro dello sport in tutte le sue espressioni”.
Опубликована новая статья
🟣 2024 🟣 V. 11 🟣 Issue 2 🟣 Art. 202411207 🟣 Letter 🟣
📜 Features of electronic states in the vicinity of band gap and atomic structure of Ta- and Nb-doped Li7La3Zr2O12
👩🎓👨🎓 M. I. Vlasov (http://orcid.org/0000-0002-7814-7489), E.A. Surzhikov (http://orcid.org/0009-0005-3466-6374), A.Yu. Germov (http://orcid.org/0000-0001-6091-1250), E.A. Il'ina (http://orcid.org/0000-0003-1759-5234), I.A. Weinstein (http://orcid.org/0000-0002-5573-7128)
🏛 Institute of High Temperature Electrochemistry of the
Ural Branch of the Russian Academy of Sciences,
https://ihte.ru/?page_id=3106
🏛 Ural Federal University, https://urfu.ru/en
🏛 M.N. Mikheev Institute of Metal Physics of the Ural
Branch of the Russian Academy of Sciences,
https://www.imp.uran.ru/?q=en
🏛 Institute of Metallurgy of the Ural Branch of the Russian
Academy of Sciences, http://www.imet-uran.ru
📚#Li7La3Zr2O12#Ta#Nb#doping#bandgap#oxygen#vacancies
🔗https://doi.org/10.15826/chimtech.2024.11.2.07
https://journals.urfu.ru/index.php/chimtech/article/view/7692
Новая работа регулярного выпуска👇
🟢 2022 🟢 V. 9 🟢 Issue 4 🟢 No. 20229405🟢
📜 Phosphorus-doped protonic conductors based on BaLanInnO3n+1 (n = 1, 2): applying oxyanion doping strategy to the layered perovskite structure
👩🎓👨🎓 N. Tarasova (https://orcid.org/0000-0001-7800-0172), A. Galisheva (https://orcid.org/0000-0003-4346-5644)
🏛 Institute of High Temperature Electrochemistry, http://www.ihte.uran.ru
📚#layered#perovskite#oxyanion#doping#proton#conductivity#BaLaInO4#BaLa2In2O7
🔗https://doi.org/10.15826/chimtech.2022.9.4.05
https://journals.urfu.ru/index.php/chimtech/article/view/5979