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
Apple 发布超先进个人电脑芯片 M3、M3 Pro 和 M3 Max
🔗Apple Newsroom (中国大陆)
Apple 今日隆重发布 M3、M3 Pro 和 M3 Max 芯片。这三款全新芯片采用一系列突破性技术,为 Mac 带来超乎想象的性能提升,并解锁众多新功能。这是首批采用业界领先 3 纳米工艺打造的个人电脑芯片,可将更多晶体管封装于更小的芯片空间中,实现速度和能效的双重提升。M3、M3 Pro 和 M3 Max 芯片展示了 Apple 自初次发布 M1 系列芯片以来,在 Mac 芯片领域取得的长足进步。
#AppleNewsroom#AppleSilicon#M3
📮 频道 @AppPie
#Apple
Apple 推出 M5 Pro 和 M5 Max 芯片
Apple 今日 宣布 推出 M5 Pro 和 M5 Max 芯片,将专业级笔记本电脑芯片性能推上新高,为新款 MacBook Pro 提供澎湃动力。这两款芯片均采用 Apple 设计的新融合架构。这一创新设计将两颗晶粒结合为一个单片系统 (SoC),集成了强劲的中央处理器、可扩展的图形处理器、媒体处理引擎、统一内存控制器、神经网络引擎和雷雳 5 控制器。
M5 Pro 和 M5 Max 芯片均采用新的 18 核中央处理器架构,包括 6 颗性能极高的核心,这些核心现名为“超级核心”,拥有冠绝全球的速度。此外还配备 12 颗专为高能效、多线程工作负载优化的全新性能核心。18 颗中央处理器核心共同发力,可将专业工作负载的处理性能提升最高可达 30%2。图形处理器扩展了在 M5 芯片中首次亮相的新一代架构,搭载最多 40 颗核心。
M5 Pro 和 M5 Max 的每颗图形处理器核心均配备神经网络加速器,且具有更高的统一内存带宽,处理 AI 任务时的峰值图形处理器计算性能相比前代机型提升超过 4 倍。同时,图形处理器也大幅提升了图形性能,对于使用光线追踪的 app,性能较 M4 Pro 和 M4 Max 提升最高可达 35%,先进视觉效果和 3D 渲染性能均得到强化。
#AppleNewsroom#AppleSilicon#M5
📮 频道 @AppPie
🌐 网站 apppie.com