命令行、配置、时间与日志
Python 文件、网络与系统编程#Python全栈#第四阶段#Python 文件、网络与系统编程#命令行、配置、时间与日志约 536 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
sys.argv 与 argparse 如何选择?
追问 参数类型、必填项、默认值、帮助与错误提示分别如何处理?
命令行工具怎样表达成功与失败?
追问 退出码、标准输出与标准错误如何让调用者或流水线正确判断?
配置文件、环境变量和命令行参数应如何设置优先级?
追问 如何记录最终配置来源,同时避免输出密码和 Token?
环境变量读取到的端口或布尔开关是什么类型?
追问 为什么不能直接使用
bool('false') 解析配置开关?如何定义合法值?程序缺少必要配置时,应该使用默认值还是立即失败?
追问 输出目录、调试开关、数据库地址和认证凭据分别怎样判断?
logging 与临时 print 调试有什么区别?
追问 级别、时间、来源、目标输出与异常堆栈如何帮助排障?
Logger、Handler、Formatter 与 Filter 分别负责什么?
追问 同一事件同时写控制台与文件,如何配置并避免重复记录?
如何记录异常而不丢失 traceback?
追问 只记录异常文本与记录堆栈有什么差异?哪些字段应脱敏?
如何为程序设置文件日志轮转?
追问 大小、时间、保留数量与权限如何安排?多个进程写同一轮转文件有什么风险?
记录事件时间与测量耗时应该使用什么时间工具?
追问 时区、UTC、单调时钟和系统时间调整分别会影响什么?