一行代碼簡(jiǎn)化Python異常信息:錯(cuò)誤清晰指出,排版簡(jiǎn)潔美觀 | 開源
魚羊 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
即使是Python,報(bào)錯(cuò)時(shí)也令人頭大。
看著這一堆亂麻,不知道是該懷疑人生,還是懷疑自己手殘。
那么,Python異常輸出美化工具PrettyErrors了解一下?
只需一個(gè)import,報(bào)錯(cuò)也能整齊劃一,錯(cuò)誤代碼位置、錯(cuò)誤原因清晰明了,一眼就能看清。debug仿佛都沒(méi)有那么痛苦了。
一行代碼簡(jiǎn)化報(bào)錯(cuò)
先來(lái)試試一個(gè)簡(jiǎn)單的錯(cuò)誤。
def?foo():
????1/0
foo()
不使用PrettyErrors庫(kù),報(bào)錯(cuò)信息長(zhǎng)這樣:
倒是能看清,就是這一長(zhǎng)串紅字十分丑陋。
讓我們來(lái)import一下pretty_errors。輸出變成了這個(gè)樣子:
是不是清晰簡(jiǎn)潔了許多?
還可以自定義顏色。
bug少的時(shí)候,還不覺(jué)得有什么太大區(qū)別。當(dāng)報(bào)錯(cuò)信息鋪滿一整頁(yè),美觀不美觀,對(duì)心靈的打擊程度就完全不同了。
使用指南
像Python的所有第三方庫(kù)一樣,PrettyErrors的安裝十分簡(jiǎn)單。
pip一下:
python?-m?pip?install?pretty_errors
如果你想讓你的每一個(gè)程序都能這樣在報(bào)錯(cuò)時(shí)也保持美貌,那么運(yùn)行下面這這行命令,就不用每次都 import pretty_errors 啦。
python?-m?pretty_errors
并且,如此一來(lái),語(yǔ)法錯(cuò)誤(SyntaxError)的格式也同樣能被美化。僅在程序中 import pretty_errors 時(shí),這一點(diǎn)是無(wú)法實(shí)現(xiàn)的。
不喜歡默認(rèn)配置,想要打造自己滿意的美化效果?那就試試這幾個(gè)函數(shù):
- pretty_errors.configure()
- pretty_errors.whitelist()
- pretty_errors.blacklist()
- pretty_errors.pathed_config()
比如要改變輸出文件名的顏色,代碼是這樣的:
pretty_errors.configure(filename_color?=?pretty_errors.BRIGHT_YELLOW)
如果你發(fā)現(xiàn)上面這一番操作之后,啥改變也沒(méi)發(fā)生,那就檢查一下PYTHON_PRETTY_ERRORS,當(dāng)它的值為0時(shí),PrettyErrors是被禁用的。
set?PYTHON_PRETTY_ERRORS=1
需要注意的是,你使用的終端本身具有顏色輸出功能,異常信息輸出才會(huì)帶有不同的顏色。如果不巧你慣用的是單色終端,那么可以試試 pretty_errors.mono() 中的設(shè)置。
人生苦短,bug實(shí)多。
何不試試PrettyErrors,給Debug的過(guò)程添加幾分美感~
傳送門
https://github.com/onelivesleft/PrettyErrors
— 完 —
- 標(biāo)準(zhǔn)化3D生成質(zhì)量榜單來(lái)了!首創(chuàng)層次化評(píng)價(jià)體系,告別“誰(shuí)的demo更吸睛”主觀評(píng)估2025-08-16
- 阿里閃電入局Agent Infra!智能體新基建亮相WAIC,“超級(jí)大腦”開箱即用2025-07-31
- 世紀(jì)華通謝斐:在“三大平衡”中領(lǐng)跑,實(shí)現(xiàn)游戲行業(yè)更高質(zhì)量的發(fā)展2025-08-01
- 1.5B參數(shù)撬動(dòng)“吉卜力級(jí)”全能體驗(yàn),國(guó)產(chǎn)開源之光多模態(tài)統(tǒng)一模型,來(lái)了2025-07-30