매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

.. 개별 공용 번호로 시작 : 파이썬 프로그래밍 시간, 개인 편지 재현하시기 바랍니다

우리가 일반적으로 종료 충돌의 결과로 과정을 포착하지 않으며, 단말기에서 무리를 인쇄 할 경우 우리는 다양한 이상 시간을 예측할 발생하는 스크립트 또는 프로그램을 작성할 때 밀도가 우리에게 얘기를 스택 추적 정보, 어떤 문제가 발생했습니다.

이 아이, 나의 하나님처럼, 환 공포증을 저지른

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

이 역 추적 위

  • 코드가 강조 같이, 육안에 매우 비우호적을 달성하지, 검은 색과 흰색 두 가지 색상 만
  • 직접 느리고 비효율적 단계의 문제를 해결하기 위해 오류 코드를 표시 할 수 없습니다

이러한 문제를 해결할 수있는 방법이 있나요?

예, 물론, 파이썬, 라이브러리가있는 경우 라이브러리를 개발하기 위해, 기다립니다, 문제가 해결되지 않을 수 없다.

가 호출 될 때이 라이브러리 소개하는 오늘 pretty-errors당신이 그 목적을 알 수있는 이름에서이 오류 메시지를 아름답게하는 데 사용됩니다.

이 명령을 통해 당신은 설치할 수 있습니다

$ python3 -m pip install pretty-errors

1. 환경 요구 사항

때문에 사용 pretty-errors하여 추적 정보를 출력 한 후, 당신은 시험 사용을 사용할 때, 효과 코드를 강조 그런 종류의 것 pretty-error, 당신이 터미널 글꼴 색상으로 출력 할 수 있습니다 사용하는 것이 확인하십시오.

창에 당신이 PowerShell을 사용할 수 cmder 등

맥에서 당신은 사용할 수있는 내장 터미널, 또는 iTerm2의 더 나은 사용을 설치

2. 콘트라스트 효과


그냥 꽤-오류를 사용하지 않고 쓰기, 및 프로그램 주어지고이 같다.

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

pretty_errors의 사용 후 오류 메시지가 같은 방식으로 영광.

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

분명이, 불안의 종류를 가져 밀도가 아직 사라되지 않은 많은 느낌 아닌가요?

물론, 적은 코드, 당신은 그것을 볼 것 Github에서의 비교 차트에서 프로젝트의 효과를 느낄 수 있습니다

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

3. 구성 가능한 세계

더 어떤 밖으로 그 필터보다 pretty_errors의 사용, 아무것도 볼 수 후 주요 정보를 강조하기 위해 우리에게 쓸모없는 정보의 비전과 함께 다음 유용한을 방해.

그렇다면 때문에, 다음 pretty_errors는 어떻게 바로, 우리가 사용하는 어떤 색상, 어떻게 타이포그래피를 사용자 정의하는 우리를 지원 할 수 있어야한다?

대답은 분명하다.

(당신이 단어의 글로벌 구성을 사용하는 경우) pretty_errors 및 기타 라이브러리, 그것은 상자 밖으로 아니다 어느 정도, 동일하지 않습니다, 당신은 당신이 그것을 사용하기 전에 몇 가지 구성을 수행해야 할 수 있습니다.

이 하나 개의 명령을 사용하고 해당 환경에서 다른 스크립트가 자동으로 조경되어 실행할 때 추적 출력을 가능하게 구성됩니다.

$ python3 -m pretty_errors

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

일단 구성되면, 당신은 다음 모든 스크립트를 실행, 역 추적이 자동으로 아름답게됩니다.

뿐만 아니라 나의하여 ITerm 터미널 아래에

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

또한 PyCharm에

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

유일한 단점은 PyCharm의 원래 역 추적 직접 클릭 수 있다는 것입니다 文件路径해당 오류 파일 라인으로 직접 이동하고, (아래 언급 될 것입니다이 문제에 VSCode 사용자 정의 구성 솔루션에 다음을 사용할 수있는 경우, 매개 변수는 다음과 같습니다 : display_link).

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

따라서, 어떤 경우에는, 당신은 설정하지 않으 pretty_errors전 세계적으로 사용할 수 있습니다.

그것은 어떻게 이전 구성을 취소하려면?

만 출력을 다시 python -m pretty_errors출력을 C해제 할 수 있습니다.

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

하나의 파일 4. 사용

당신은 자신의 필요에 따라 사용할 세계적으로 사용할 수 필요가 있습니다 취소 pretty-errors수입에 스크립트 파일을 pretty_errors, 당신은 사용할 수 있습니다

import pretty_errors

이처럼

import pretty_errors

def foo():
    1/0

if __name__ == "__main__":
    foo()

그것은 그것을 언급 할 가치가있다, 이런 식으로, 스크립트 구문 오류, 이상이있는 경우 또는 쇼 이전 방식의 출력에 따라, 그리고 아름답게되지 않습니다.

따라서,보다 철저한 조경을 허용하기 위해 공식적으로 사용하는 것이 좋습니다 python -m pretty_errors

사용자 지정 설정

우리가 사용하는 위의 예를 pretty_errors제시 한 정보 아름답게 기본 형식은 가득하지 않습니다.

  • 그것은 어떤 코드 오류 문서를 찾기 위해 우리가 어려울 수 있습니다 오류 파일의 절대 경로를 표시하지 않습니다.
  • 우리는 터미널 화면에 우리를 표시 할 수 있으며, 우리가 왜 문제를 해결하려면 소스 코드 파일이 필요하지 않은 경우 특정 오류 코드입니다.

경우 pretty_errors원인 이상이 잃어버린, 그것은뿐만 아니라 사용하지 않을 수도 pretty_errors를.

그러나, 나는 당신이 말할 수있는 pretty_errors너무 쉽게 당신이 생각하지.

그것은 사용자 정의 구성에 대한 개방 정도, 지원, 당신은 당신이 방법을 보여 쇼에서 필요한 정보를 선택할 수있다?

다음은 그 예이다

import pretty_errors

# 【重点】进行配置
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.default_config.line_color,
    code_color          = '  ' + pretty_errors.default_config.line_color,
)

# 原来的代码
def foo():
    1/0

if __name__ == "__main__":
    foo()

위처럼 사용이 방법으로 pretty_errrs.configure밝혀졌다 방식 것들에 대한 구성, 발생한 예외 정보를 표시합니다.

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

물론, pretty_errors.configure()당신은 또한 당신은 당신의 자신의 필요에 따라 구성 할 수있는 매개 변수를 많이받을 수 있습니다.

5.1 설정 컬러

  • header_color: 헤더 행의 색상을 설정합니다.
  • timestamp_color: 타임 스탬프 색상을 설정합니다
  • default_color: 기본 색상을 설정합니다
  • filename_color: 파일 이름 색상을 설정합니다
  • line_number_color: 컬러 라인 번호를 설정합니다.
  • function_color: 컬러 설정 기능.
  • link_color: 링크의 색상을 설정합니다.

색상을 설정하는 경우, pretty_errors그것은 당신의 일정한 직접 검색을 위해 몇 가지 일반적인 색상을 제공합니다.

  • BLACK: 블랙
  • GREY: 회색
  • RED: 레드
  • GREEN: 녹색
  • YELLOW: 노란색
  • BLUE: 블루
  • MAGENTA: 마젠타
  • CYAN: 블루 그린
  • WHITE: 화이트

각 컬러 매칭이 대응되어 BRIGHT_변형하고 _BACKGROUND, 그 변형

하며, _BACKGROUND다음과 같은 예를 들어, 배경색을 설정합니다.

매일 좋은 파이썬 라이브러리 : 꽤-오류는 버그 봐 다른 만들려면

5.2 설정 표시 내용

  • line_number_first
    사용하도록 설정하면, 줄 ​​번호는 파일 이름 대신 먼저 표시됩니다.
  • lines_before : 상기 이상 발생의 처음 몇 줄을 표시
  • lines_after: 이상 발생에 몇 줄의 코드에 대한 표시
  • display_link: 활성화 된 경우, 링크가 잘못된 위치에 따라 기록됩니다, VScode은 링크를 클릭 할 수 있습니다.
  • separator_character: 제목 캐릭터 라인을 만드는 데 사용됩니다. 하이픈 기본값을 사용합니다. 로 설정 한 경우 ''None, 제목은 사용할 수 없습니다.
  • display_timestamp: 활성화 된 경우, 타임 스탬프는 다시 헤더를 기록됩니다.
  • display_locals
    활성화 된 경우, 로컬 변수 스택 프레임 부호의 상부에 그 값을 표시한다.

  • display_trace_locals
    활성화 된 경우에 나타나는 로컬 변수 스택 프레임은 다른 코드 값과 함께 표시.

5.3 설정 표시하는 방법

  • line_length: 각 행의 길이가 제공되며, 기본이 콘솔의 폭과 좋은 일치의 길이를 설정하면, 콘솔의 크기에 맞게 각 행의 출력을 의미하는 0, 비활성화해야 할 수도 있습니다 full_line_newline, 중요한 비스 줄 바꿈을 방지하기 위해 .

  • full_line_newline: 때 줄 바꿈을 삽입 여부를 통해 문자 행의 출력.

  • timestamp_function
    타임 스탬프를 생성하기 위해이 함수를 호출합니다. 기본값 time.perf_counter.

  • top_first
    사용하도록 설정하면 반전됩니다 스택 추적은 스택의 첫 번째 정상을 표시.

  • display_arrow
    가능하면 토큰에 문제가있는 화살표, 점에 대한 구문 오류가 표시됩니다.

  • truncate_code
    활성화되면, 각 라인은 주지사에 맞게 잘립니다.

  • stack_depth
    항목의 최대 수는 스택 추적을 표시합니다. 어떤 시간은 0기본입니다 전체 스택을 표시합니다.

  • exception_above
    사용하도록 설정하면, 예외가 스택 추적의 상단에 표시됩니다.

  • exception_below:
    활성화되면, 스택 아래 트래킹 에러 표시.

  • reset_stdout
    활성화되면, 리셋 이스케이프 시퀀스는 stdout 및 stderr에 기록되어 콘솔이 잘못된 색상을두고이 옵션을 사용합니다.

  • filename_display

    파일 이름의 디스플레이 모드, 세 가지 옵션이있다 : pretty_errors.FILENAME_COMPACT,, pretty_errors.FILENAME_EXTENDED또는pretty_errors.FILENAME_FULL

위는 내 것입니다 pretty_errors가능 아니므로 효과가, 그것은 단지 PEP8 사양, 특히 멋지다,이 라이브러리는 매우 강력 일반적으로, 경험의 사용하지만, 같은 더 잘 될 것입니다. 어떤 사람들은 오류 출력 시나리오를 정의 할 경우, pretty_errors좋은 솔루션이 될 것입니다, 도밍고는 당신에게 추천합니다.

추천

출처blog.51cto.com/14237772/2476797