본문 바로가기
python

Pylint : 규칙적인 코드 작성하기

by _avocado_ 2023. 6. 28.

pylint는 코드의 에러를 찾거나, 정해진 규칙에 맞지 않는 부분을 확인하고 더 나은 코드를 작성할 수 있도록 도와주는 도구입니다. PEP8 스타일을 기본으로 하며 config 파일로 프로젝트 별 규칙을 정의하고 확인할 수 있습니다.


설치

conda install -c conda-forge pylint

or

pip install pylint

사용법

cmd에서 특정 스크립트를 체크하는 코드입니다.

pylint [scirpt_path] # py 파일 또는 directory

위와 같이 실행을 하면 cmd 화면에서 다음과 같은 결과를 얻을 수 있습니다.

결과는 수정이 필요한 부분과 그 원인을 알려주고 마지막 줄에는 코드의 점수를 알려줍니다.

수정 부분을 자세하게 확인해 보면 아래와 같은 규칙으로 작성됩니다.

feature/Util.py:47:0: C0303: Trailing whitespace (trailing-whitespace)

[script_path]:[row]:[col]:[code]:수정이 필요한 원인 설명

파일 이름과 수정이 필요한 코드의 위치(줄과 칸) 그리고 오류 코드, 코드에 대한 설명으로 이루어져 있습니다.

설명을 확인하고 코드를 수정할 수 있고 만약 설명이 부족하다면 pylint 홈페이지에서 코드로 검색하여 수정에 대한 힌트를 다음과 같이 얻을 수 있습니다.

pylint 홈페이지


config 설정

1. 파일별, 라인별 예외 적용하기

특정 파일에서 예외로 하고 싶은 규칙이나 특정 라인에서 검사를 원하지 않을 때 사용할 수 있는 방법입니다.

 

- 특정 파일에서 특정 규칙(코드) 무시하기

해당 파일에 주석(#)으로 그림과 같이 입력하면 해당 오류코드는 무시하고 검사한다.

# pylint: disable=[code],[code],...

- 특정 줄(line) 검사 무시하기

특정 line에만 적용을 원할때는 위와 같은 형식으로 해당 줄 마지막에 넣어주면 된다.

2. 프로젝트 별 config 적용하기

프로젝트 별 코드에 대한 규칙이 다를 수 있고 특정 규칙은 무시하고 싶을 때는 pylint config 파일을 만들어 관리할 수 있습니다. config 파일을 만드는 명령어는 다음과 같습니다.

pylint --generate-rcfile > .pylintrc

pylint --generate-rcfile > [project_path]/.pylintrc

생성된 파일을 열어보면 많은 규칙들이 작성되어 있고 원하는 수치로 수정 및 무시, 적용 여부도 결정이 가능하다.

아래 그림은 해당 프로젝트에서 disable할 규칙들을 설정하는 부분이다. 코드 또는 오류이름으로 설정이 가능하다.

disable 위치는 약 424번째 줄(최초생성시)에 있다.

.pylintrc file을 이용한 코드 검사

새로 만든 rcfile 을 이용한 pylint 실행 명령어는 아래와 같습니다.

pytlint [script_path] --rcfile [rcfile_path]

만약 --rcfile 옵션을 생략한다면 명령어 실행 위치에 있는 .pylintrc 파일을 적용하여 검사하게 됩니다.

따라서 프로젝트 폴더별 .pylintrc를 생성하여 사용한다면 편하게 코드를 관리할 수 있습니다.

댓글