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
最近发现的一些 RSS Feed #源 分享: 第 16 期
1️⃣「(Unofficial) Apple Developer System Status Feeds」
2️⃣「The British Weird RSS Starter Pack」
3️⃣「An RSS feed for Docker image updates」
4️⃣「RSS Feeds for Humans」
5️⃣「Awesome Dev News: Curated news for developers. Updated every hour」
6️⃣「BBC News RSS Feeds (that don't suck!)」
7️⃣「Discovering via social media without being on social media」
8️⃣「GeoFeeds: a single, unified feed-of-feeds from geo-related/adjacent blogs」
9️⃣underlap.org's blogroll
🔟「Spoken Wikipedia Podcast RSS Feeds」 🎙
1️⃣1️⃣「A daily editorialization of Hacker News (with RSS)」
1️⃣3️⃣「BlogFlock: RSS feeds in public」
1️⃣4️⃣「Only Human Blogs」
1️⃣5️⃣「Ye Olde Blogroll: a humanly curated list of fine personal & independent blogs that are updated regularly」
🔸上一期:【15】
最近发现的一些 RSS Feed #源 分享: 第 15 期
1️⃣「Blogroll Network Map」
2️⃣Tristan's RSS Feeds
3️⃣CSS JOY Webring's OPML
4️⃣Justin McAfee's OPML
5️⃣「Large collection of RSS feeds in the AI space」
6️⃣「Here's a list of my feeds」
7️⃣「International newspapers with English-language RSS」
8️⃣「Going beyond the State of the Art: between scientific literature and RSS Feeds」
9️⃣「weekly0 - 优质周刊集合」
🔟Dan Q's Blogroll
1️⃣1️⃣「HackTuber News」
🔸上一期:【14】
最近发现的一些 Feed #源 分享: 第 12 期
1️⃣「Attention arXiv users: Re-implemented RSS」
2️⃣X友 Andrew Bamboo 的 RSS Feed 分享
3️⃣「博客聚合平台 RSS 订阅 - BlogFinder & 博友圈 & 十年之约」
4️⃣「An RSS Feed for the Google Chrome Developer Blog」
5️⃣「Stay up with the latest movies and TV shows with filtered JustWatch RSS feeds」
6️⃣「Scala News - A Community Crowd Sourced newsletter using RSS」
7️⃣「A collection of RSS feeds and links to the major scientific marketing journals」
8️⃣「南京大学 Linux User Group 收集的同学们的 Blog」
9️⃣「RSS feed (JSON & Atom) generator for official game news from Hoyolab.」
🔸上一期:【11】
最近发现的一些 Feed #源 分享:第2期
1️⃣「2021 V2EX RSS 订阅分享大会」
2️⃣ 电报频道:「Find Blog👁发现博客」
3️⃣ RPG feed (755 blogs) shared by twitter.com/yochaigal1
4️⃣「Refined Blog: A Curated List of RSS Feeds for Software Engineering Blogs」
5️⃣「Curated list of sources for tech, finance and ongoing learning & improvements」
6️⃣「Curated list of personal blogs on any topic, by mataroa.blog」
🔸 往期直达:1
最近发现的一些 Feed #源 分享: 第 7 期
1️⃣「Feed43 生成 RSS 订阅源分享」
2️⃣「A Big Pile of Personal Developer & Designer Blogs in an OPML File」
3️⃣「My RSS Setup」
4️⃣「Hacker News Frontpage Digest Feed」
5️⃣「A huge list of AI/ML news sources」
6️⃣「ooh! directory」: A collection of 1369 blogs about every topic
7️⃣「A list of RSS feeds maintained by the City of Columbus on GovDelivery」 #开源
🔸往期直达:123456
最近发现的一些 RSS Feed #源 分享: 第 14 期
1️⃣BestBlogs.dev 的订阅源
2️⃣Isaac's feeds
3️⃣Robert's Feed2Pages
4️⃣「AI 总结 Hacker News 上的链接,支持 RSS /中英文」#V2EX
5️⃣V2EX Xml News Aggregator 的 Feed 收录贴
6️⃣Harsh Browns's Blogroll
7️⃣「How I Try To Keep Up With The Data Tech World (A List of Data Blogs)」
8️⃣「Papers with Code RSS Feeds」
9️⃣「Aggregate blog posts discussed in tech YouTube channels like Theo - t3.gg, ThePrimeTime, etc」
🔟「NetNewsWire and RSS Recommendations」
1️⃣1️⃣「常见的英语新闻 RSS 采集地址」
1️⃣2️⃣「一个聚合AI相关节目的播客 RSS」
🔸上一期:【13】