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
📅 1 сентября 2024
власти стран - участниц Токийского и Парижского меморандумов о взаимопонимании (MoU) по государственному портовому контролю начнут совместную кампанию целенаправленных проверок (CIC) заработной платы экипажей и трудовых договоров моряков (MLC 2006).
Целью кампании является:
🔵 повышение осведомленности представителей судоходной отрасли о требованиях к заработной плате экипажа и трудовым соглашениям с моряками (MLC); и
🔵проверка соответствия судов этим требованиям.
Эта инспекционная кампания продлится три месяца, начиная с 1 сентября 2024 года по 30 ноября 2024 года.
⁉️В рамках кампании будут рассмотрены конкретные вопросы, связанные с заработной платой экипажа, трудовыми договорами моряков и финансовыми гарантиями (репатриация и ответственность судовладельцев) (MLC 2006).
⁉️В течение периода проведения кампании судно будет подвергнуто только одной проверке в соответствии с этим CIC.
Сотрудники государственного портового контроля (PSCOS) будут использовать заранее подготовленную анкету (на фото выше) для оценки соответствия заработной платы экипажа, трудовых договоров моряков (SEAS) и предоставленных финансовых гарантий соответствующим требованиям MLC.
📎В случае обнаружения несоответствий меры государства порта могут варьироваться от фиксации нарушения и предписания капитану устранить его в течение определенного периода времени, и задержания судна до тех пор, пока серьезные недостатки не будут устранены или пока государство порта не согласует предложение о плане действий.
📎В случае задержания будут опубликованы ежемесячные списки задержанных судов на веб-сайтах Токийского и Парижского меморандумов о взаимопонимании.
Результаты кампании будут проанализированы, выводы будут представлены руководящим органам обоих меморандумов для возможного представления в МОТ и ИМО.
⚡️
#КТМС#MLC#PSC #
#Spagna#Catalogna#Barcellona
Jaume #Collboni (#PSC|S&D) eletto nuovo Sindaco di Barcellona. Collboni ha ottenuto i voti di PSC, #BeC|LEFT e #PP|EPP.
@OsservatorioEsteri
#Spagna#Catalogna
Il Parlamento catalano ha dato il via libera, in prima lettura, al disegno di legge del governo per creare un corpo di personale specializzato in azione estera e relazioni con l’#UE, con l'obiettivo di rafforzare la proiezione internazionale della Catalogna. A votare a favore sono stati: #ERC|G/EFA, #Junts|NI, #PSC|S&D, #CUP|LEFT e #ElsComuns|LEFT, ribaltando gli emendamenti generali da parte della destra e dell'estrema destra.
@OsservatorioEsteri
#Cile🇨🇱
#Parlamentari
#CameradeiDeputati
Risultati parziali.Seggi.
Voti scrutinati: 99,6%.
🟥 Unità per il Cile (#UpCh|Sinistra): 61
🟦 Cambiamento per il Cile (#CpCh; comprende #PRCh|Estrema destra ultraconservatrice, #PSC|Estrema destra ultraconservatrice, #PNL|Estrema destra libertaria): 42
🟦 Cile Grande e Unito (#ChGU|Destra liberal-conservatrice): 34
⬛ Partito della Gente (#PDG|Destra populista): 14
Altri: 4
@TuttoElezioni