可观测学堂

可观测问答

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

Python 中如何逐行读取文件? cover
概念指南

Python 中如何逐行读取文件?

Python 逐行读取文件的最佳方式是直接迭代文件对象:with open('file.txt') as f: for line in f: ...。内存友好,自动关闭文件。本文介绍各种逐行读取方式。

Python 中如何读取标准输入(stdin)? cover
概念指南

Python 中如何读取标准输入(stdin)?

Python 读取 stdin 的三种方式:input() 读单行、sys.stdin 逐行/全量读取、fileinput 模块处理管道输入。本文对比各种方式及适用场景。

如何把 Docker 容器的日志重定向到指定文件? cover
概念指南

如何把 Docker 容器的日志重定向到指定文件?

Docker 日志默认写入 /var/lib/docker/containers 下的 JSON 文件。自定义日志位置可用 syslog/journald 日志驱动,或 docker logs 命令导出,或直接挂载卷让应用写文件。

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 更快。本文介绍各种排序写法。