可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Python 中如何删除字典里的某个键? cover
概念指南

Python 中如何删除字典里的某个键?

删除字典的键:del d['key'] 直接删除(键不存在报错);d.pop('key', 默认值) 删除并返回值更安全。本文对比两种方法及批量删除。

Python 中如何去掉字符串末尾的换行符? cover
概念指南

Python 中如何去掉字符串末尾的换行符?

Python 去掉末尾换行:rstrip() 去掉右侧所有空白(含换行),rstrip('\n') 只去换行,removesuffix('\n') 精确移除一个后缀。本文对比各方法差异。

Python 中如何反转一个字符串? cover
概念指南

Python 中如何反转一个字符串?

Python 反转字符串最简洁的方法是切片 s[::-1]。也可用 reversed() 配合 join。本文介绍两种方法及 Unicode 注意事项。

如何把 Python 脚本配置为 cron 定时任务? cover
概念指南

如何把 Python 脚本配置为 cron 定时任务?

把 Python 脚本加到 cron:写好脚本 → crontab -e 添加定时行 → 注意用绝对路径和完整环境变量。本文给出完整步骤及常见坑。

如何并行运行 pytest 测试(加速测试执行)? cover
概念指南

如何并行运行 pytest 测试(加速测试执行)?

pytest 并行跑测试用 pytest-xdist 插件:pip install pytest-xdist 后 pytest -n auto 即可按 CPU 核数并行。本文介绍用法及注意事项。

如何安全地停止 Logstash 进程? cover
概念指南

如何安全地停止 Logstash 进程?

安全停止 Logstash:systemd 管理用 systemctl stop;手动启动用 kill -TERM 发 SIGTERM 信号;前台运行用 Ctrl+C。

pytest 如何跳过(排除)某些目录不收集测试? cover
概念指南

pytest 如何跳过(排除)某些目录不收集测试?

pytest 排除目录用 --ignore=路径 参数,可多次使用;在 pytest.ini 的 addopts 中配置可永久生效。norecursedirs 可排除按模式匹配。

pytest 报 ModuleNotFoundError 怎么解决? cover
概念指南

pytest 报 ModuleNotFoundError 怎么解决?

pytest 找不到模块通常是因为 tests 目录不是包或项目根目录不在 sys.path 中。解决方法:加 __init__.py、配 pythonpath、用 pip install -e . 安装项目。

Python 中如何按字典的某个值对字典列表排序? cover
概念指南

Python 中如何按字典的某个值对字典列表排序?

对字典列表按某个键的值排序:sorted(list, key=lambda x: x['age']);倒序加 reverse=True;itemgetter 更快。本文介绍各种排序写法。

Python 中如何对字典按键(或按值)排序? cover
概念指南

Python 中如何对字典按键(或按值)排序?

Python 字典排序:sorted(d.items(), key=lambda x: x[0]) 按键排序,x[1] 按值排序,结果是元组列表;dict() 包回去得到有序字典。本文给出各种写法。

Python 中如何把列表切分成等大的块(chunks)? cover
概念指南

Python 中如何把列表切分成等大的块(chunks)?

Python 列表分块:列表推导式 [l[i:i+n] for i in range(0, len(l), n)] 最直观;itertools 的 batched(3.12+)更优雅。本文介绍各种分块方法。

Python 中如何快速启动一个 HTTP 服务器? cover
概念指南

Python 中如何快速启动一个 HTTP 服务器?

Python 一行命令启动静态文件服务器:python3 -m http.server 8000。本文介绍命令行用法、指定端口/目录、编程方式及安全提醒。