可观测学堂

可观测问答

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

syslog/rsyslog 如何处理多行日志记录(如堆栈跟踪)? cover
概念指南

syslog/rsyslog 如何处理多行日志记录(如堆栈跟踪)?

syslog 协议本身按行处理,多行日志需要 rsyslog 配置 multiline 支持(imfile 的 startmsg.regex),或在采集侧/解析侧做行合并。本文介绍配置方法。

Python 3 中 python -m SimpleHTTPServer 的等价命令是什么? cover
概念指南

Python 3 中 python -m SimpleHTTPServer 的等价命令是什么?

Python 2 的 python -m SimpleHTTPServer 在 Python 3 中改为 python -m http.server(模块重构更名)。默认 8000 端口,服务当前目录。

Python 中如何检查字典里是否存在某个键? cover
概念指南

Python 中如何检查字典里是否存在某个键?

Python 检查字典键是否存在用 in 关键字:'key' in d。get() 方法带默认值也是常用方式。本文对比各种检查方法。

Python 中如何统计列表中元素出现的次数? cover
概念指南

Python 中如何统计列表中元素出现的次数?

Python 统计列表元素次数:list.count() 数单个元素;collections.Counter 一次性统计所有元素并支持 most_common() 取 TOP N。本文介绍两种方法。

Python 列表的 append() 和 extend() 有什么区别? cover
概念指南

Python 列表的 append() 和 extend() 有什么区别?

append 把整个对象作为单个元素加入列表末尾;extend 把可迭代对象的每个元素逐个加入。append([1,2]) 得到嵌套列表,extend([1,2]) 平铺展开。本文详解区别。

Python 中如何把字符串转换成 datetime 对象? cover
概念指南

Python 中如何把字符串转换成 datetime 对象?

Python 字符串转 datetime 用 datetime.strptime(字符串, 格式),格式符 %Y-%m-%d %H:%M:%S 等。本文介绍常用格式符、错误处理及 dateutil 自动解析。

Python 中如何创建函数装饰器(并叠加多个装饰器)? cover
概念指南

Python 中如何创建函数装饰器(并叠加多个装饰器)?

Python 装饰器是包装函数的高阶函数:定义一个接收函数、返回包装函数的函数,用 @语法应用。多个装饰器从下往上依次包装。本文给出完整教程。

Python 中如何定义多行字符串(把长字符串拆到多行)? cover
概念指南

Python 中如何定义多行字符串(把长字符串拆到多行)?

Python 多行字符串的方法:三引号保留换行、反斜杠续行、括号内相邻字符串自动拼接。本文对比各种写法及适用场景。

Python 中如何获取当前目录和文件的上级目录? cover
概念指南

Python 中如何获取当前目录和文件的上级目录?

Python 获取当前工作目录用 os.getcwd() 或 Path.cwd();获取文件所在目录用 os.path.dirname() 或 Path.parent;脚本自身位置用 __file__。本文对比各种方式。

Python 中如何列出一个目录下的所有文件? cover
概念指南

Python 中如何列出一个目录下的所有文件?

Python 列出目录文件:os.listdir() 列全部条目、os.scandir() 更高效、pathlib.Path.glob() 按模式匹配、os.walk() 递归遍历。本文对比各种方式。

Python 中如何把字符串解析成整数或浮点数? cover
概念指南

Python 中如何把字符串解析成整数或浮点数?

Python 字符串转数字:int('42') 转整数、float('3.14') 转浮点。非法输入抛 ValueError,需 try/except 容错。本文介绍转换方法及常见坑。

Python 中如何在终端打印彩色文字? cover
概念指南

Python 中如何在终端打印彩色文字?

Python 终端彩色输出:ANSI 转义码(\033[91m 红色 \033[0m 重置)原生支持;colorama 库跨平台(含 Windows);rich 库功能最全。本文介绍各种方案。