一行代码,让你的 Python bug 与众不同

一行代码,让你的 Python bug 与众不同

PrettyErrors 是一个精简 Python 错误信息的工具,特点是界面十分简洁友好。

它最显著的功能是支持在终端进行彩色输出,标注出文件栈踪迹,发现错误信息,过滤掉冗余信息,提取出关键部分,并且进行彩色标注,从而提高开发者的效率。

写代码本身就很不容易,特别是在几万行的代码中出现一个bug,一时半会找不到问题所在,这个时候,你一定很抓狂,很烦躁。特别是Python代码出错了,满屏幕大段大段的错误信息提示,想定位错误更是难上加难。

先来看看上面这段 traceback

  • 只有一种颜色,无法像代码高亮那样,对肉眼实现太不友好了
  • 无法直接显示报错的代码,排查问题慢人一步,效率太低

那有没有一种办法,可以解决这些问题呢?

当然有了,在 Python 中,没有什么问题是一个库解决不了的,别乱如麻的Python报错输出,一行代码让bug更清晰。

今天要介绍的这个库呢,叫做 pretty-errors ,从名字上就可以知道它的用途,是用来美化错误信息的。

下面介绍如何安装使用PrettyErrors。

通过这条命令你可以安装它

linuxmi@linuxmi:~/www.linuxmi.com$ pip install pretty_errors

或者

linuxmi@linuxmi:~/www.linuxmi.com$ pip3 install pretty-errors

全局配置

如果你想让你的每一个程序都能这样在报错时使其清晰易读,那么运行下面这这行命令配置全局可用。

linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m pretty_errors

配置完成后,你再运行任何脚本,traceback 都会自动美化了。

取消全局配置

同样运行这个命令

linuxmi@linuxmi:~/www.linuxmi.com$ python3 -m pretty_errors

输入 C 即可清除全局配置。

单文件中使用

取消全局可用后,你可以根据自己需要,在你需要使用 pretty-errors 的脚本文件中导入 pretty_errors ,即可使用

import pretty_errors

但是这样,语法错误(SyntaxError)的格式就不能被美化。所以为了让美化更彻底,官方推荐你使用 python -m pretty_errors

不喜欢默认配置,试试这几个函数:

pretty_errors.configure()
pretty_errors.whitelist()
pretty_errors.blacklist()
pretty_errors.pathed_config()

比如要改变输出文件名的颜色,代码是这样的:

pretty_errors.configure(filename_color = pretty_errors.BRIGHT_YELLOW)

如果你发现上面这一番操作之后,啥改变也没发生,那就检查一下PYTHON_PRETTY_ERRORS,当它的值为0时,PrettyErrors是被禁用的。

set PYTHON_PRETTY_ERRORS = 1

需要注意的是,你使用的终端本身具有颜色输出功能,异常信息输出才会带有不同的颜色。如果不巧你惯用的是单色终端,那么可以试试 pretty_errors.mono() 中的设置。

自定义配置示例

from pretty_errors import *
configure(filename_color=BRIGHT_BLUE)# 设置文件名为亮蓝色
def f():
return 1 / 0
if __name__ == "__main__":
f()

结语

总的来说,这个库功能非常强大,使用效果也特别酷炫,它就跟 PEP8 规范一样,没有它是可以,但是有了它会更好一样。对于某些想自定义错误输出场景的人,pretty_errors 会是一个不错的解决方案。

以上就是一行代码,让你的 Python bug 与众不同的详细内容,更多请关注昆居客【www.kunjuke.com】。

相关推荐:

让你的代码永存于世,微软 GitHub 推出代码仓库刻录 CD-ROM 实体光盘服务

感谢网友 Skyraver 的线索投递! 7 月 3 日消息,微软旗下的代码托管平台 GitHub 今天宣布推出代码仓库刻录 CD-ROM 实体光盘服务。值得注意的是,GitHub 官方还用一番玩味十足的语气宣发这项服务:我们听到了大家的声音,并表示认同。鉴于近期实体媒介的发展,GitHub 欣然宣布:你现在可以将自己的公开仓库刻录成 CD-ROM 实体光盘。你可以把你的代码收藏起来、借给朋友,或...

我的世界雷雨指令代码怎么用

我的世界雷雨指令代码使用方法:1.首先在游戏中按下t键,进入聊天界面;2.然后输入/weather thunder指令;3.出现更换到雷雨天气时代表成功。 详细答案: 1.首先在游戏中按下t键,进入聊天界面。 2.然后输入/weather thunder指令。 3.出现更换到雷雨天气时代表成功。 本文内容来源于互联网,如有侵权请联系删除。

2026年最火的AI数字人工具QoderWake:小白零代码制作指南

零代码可视化构建AI数字人是QoderWake的核心能力。小白用户可通过工作流编辑器拖拽节点、配置触发与处理逻辑、插入审批分流节点,并校验发布,全程无需编程。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望快速创建属于自己的AI数字人,但缺乏编程经验或不熟悉复杂配置流程,则可能是由于未掌握QoderWake提供的零代码可视化构建能...
· AI · 184827

千问如何用于代码审查和Bug检测?代码质量检查自动化方案

千问模型可通过五种方法开展代码质量评估与缺陷识别:一、完整代码逐行分析;二、检查清单逐项验证;三、对比标准范式识别偏差;四、集成OpenClaw实现本地自动化审查;五、基于错误现象反向归因分析。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望借助千问模型对代码进行质量评估与潜在缺陷识别,则需依托其静态文本分析能力,在不执行代码的前...
· AI · 237730

QoderWake AI调优:如何通过Prompt让生成的代码更精准

QoderWake AI代码需严格匹配需求:用三行分隔符界定输入-处理-输出,硬性禁止额外字段/注释/日志,命名规则须明确可执行,辅以正误示例,原子化拆解任务并限定生成粒度。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 你需要让QoderWake AI生成的代码严格匹配项目实际需求,比如函数名必须带特定前缀、变量命名需遵循公司规范、接口返...
· AI · 213560

CodeBuddy怎么生成前端页面代码?

Figma设计稿转前端代码有四种方法:一、Figma MCP插件直连生成,通过CodeBuddy与Figma MCP协议实现像素级还原;二、上传设计图由NL2Code解析生成,依赖视觉逆向建模;三、自然语言指令驱动构建,直接输入功能需求生成可运行代码;四、基于已有代码智能扩增,AI理解上下文生成风格一致新模块。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1...
· AI · 288415

GitHub Copilot代码样式同步:让AI生成的代码符合Prettier等格式化规范

Copilot不自动遵守Prettier因不读取本地配置文件,需通过“人工提示词约束+编辑器自动格式化(Format On Save)+ ESLint实时修复”组合实现落地即合规。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 让GitHub Copilot生成的代码一落地就符合Prettier格式规范,避免每次保存后还要手动触发修复、或看...
· AI · 93218