一個好用的Python 函式庫:pretty-errors 讓你的Bug 看起來與眾不同

2024.03.10

Python是一種高階程式語言,它的簡單易學和強大的功能使得它成為了許多開發者的首選語言。然而,當我們在編寫Python程式碼時,有時會遇到一些錯誤,這些錯誤可能會讓我們花費很長時間去偵錯和解決。為了解決這個問題,有一個名為PrettyErrors的Python庫可以幫助我們更好地理解和調試Python程式碼中的錯誤。

PrettyErrors是一個Python庫,它可以將Python的錯誤訊息轉換成更易於理解的格式,並將其列印在終端上。使用PrettyErrors可以讓我們更快地識別和解決程式碼中的錯誤,從而提高我們的開發效率。

以下是PrettyErrors函式庫的使用方法:

1. 安裝PrettyErrors庫

要使用PrettyErrors庫,我們首先需要安裝它。可使用pip指令在終端機中安裝PrettyErrors庫:


```

pip install pretty_errors

```
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

2. 導入PrettyErrors庫

在Python程式碼中,我們需要導入PrettyErrors函式庫才能使用它。可使用以下程式碼導入PrettyErrors庫:


```

import pretty_errors

```
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

3. 設定PrettyErrors庫

在導入PrettyErrors庫後,我們需要配置它以便使用。可使用以下程式碼配置PrettyErrors庫:


```

pretty_errors.configure(

    separator_character = '*',

    filename_display = pretty_errors.FILENAME_EXTENDED,

    line_number_first = True,

    display_link = True,

    lines_before = 5,

    lines_after = 2,

    line_color = pretty_errors.RED + '> ' + pretty_errors.BOLD,

    code_color = '  ' + pretty_errors.BLUE,

    truncate_code = True,

    display_locals = True

)

```
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

在上面的程式碼中,我們可以看到一些設定選項,例如分隔符號字元、檔案名稱顯示方式、是否顯示連結、顯示錯誤行前後的行數、行號和程式碼的顏色等等。根據自己的需求,可以自訂這些選項以適應自己的程式碼。

4. 運行Python程式碼

在完成PrettyErrors庫的配置後,我們可以運行Python程式碼並等待錯誤發生。當錯誤發生時,PrettyErrors庫會將錯誤訊息轉換成易於理解的格式,並將其列印在終端上。

例如,當我們在程式碼中使用未定義的變數時,Python會拋出一個NameError錯誤。在沒有使用PrettyErrors函式庫的情況下,Python會列印一則簡單的錯誤訊息,如下所示:


```

NameError: name 'x' is not defined

```
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

但是,當我們使用PrettyErrors庫時,Python會將錯誤訊息轉換成更易於理解的格式,並將其列印在終端上,如下所示:

```

************************* NameError *************************

name 'x' is not defined

-------------------------------------------------------------

Traceback (most recent call last):

  File "example.py", line 3, in <module>

    print(x)

  File "/usr/local/lib/python3.9/site-packages/pretty_errors/__init__.py", line 324, in _pretty_error

    code_lines, offending_line_index = _find_offending_line(lines, line_number)

  File "/usr/local/lib/python3.9/site-packages/pretty_errors/__init__.py", line 248, in _find_offending_line

    raise ValueError("Line number out of range")

ValueError: Line number out of range

```
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

在上面的錯誤訊息中,我們可以看到更詳細的錯誤訊息,例如錯誤類型、錯誤訊息、錯誤發生的檔案名稱和行號等等。這些資訊可以幫助我們更快地識別和解決程式碼中的錯誤。

總結

PrettyErrors是一個非常有用的Python庫,它可以幫助我們更好地理解和調試Python程式碼中的錯誤。使用PrettyErrors可以將Python的錯誤訊息轉換成易於理解的格式,並將其列印在終端上。透過配置PrettyErrors庫,我們可以自訂錯誤訊息的格式以適應自己的程式碼。在實際開發中,使用PrettyErrors可以提高我們的開發效率,減少調試時間。