.. 개별 공용 번호로 시작 : 파이썬 프로그래밍 시간, 개인 편지 재현하시기 바랍니다
우리가 일반적으로 종료 충돌의 결과로 과정을 포착하지 않으며, 단말기에서 무리를 인쇄 할 경우 우리는 다양한 이상 시간을 예측할 발생하는 스크립트 또는 프로그램을 작성할 때 밀도가 우리에게 얘기를 스택 추적 정보, 어떤 문제가 발생했습니다.
이 아이, 나의 하나님처럼, 환 공포증을 저지른
이 역 추적 위
- 코드가 강조 같이, 육안에 매우 비우호적을 달성하지, 검은 색과 흰색 두 가지 색상 만
- 직접 느리고 비효율적 단계의 문제를 해결하기 위해 오류 코드를 표시 할 수 없습니다
이러한 문제를 해결할 수있는 방법이 있나요?
예, 물론, 파이썬, 라이브러리가있는 경우 라이브러리를 개발하기 위해, 기다립니다, 문제가 해결되지 않을 수 없다.
가 호출 될 때이 라이브러리 소개하는 오늘 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
좋은 솔루션이 될 것입니다, 도밍고는 당신에게 추천합니다.