Sangmun

python 코드 formatter black 본문

개발

python 코드 formatter black

상상2 2023. 1. 6. 09:11

flake8과 같은 Link 도구를 이용하여 코드를 검사했다면 이제는 코딩 스타일의 통일이 필요한 부분을 알아서 수정을 해줘야 하는데 그러한 역할을 해주는 패키지가 python의 black이다.

black은 현시점 기준 formatter 중에서 가장 start의 개수가 많은 프로젝트이다.

 

https://star-history.com/#psf/black&google/yapf&hhatto/autopep8\

 

설치

pip install black

사용방법

black {파일 또는 폴더 이름}

위와 같이 사용을 해주면 파일들이 코딩 컨벤션에 따라 자동으로 수정이 된다. 어떻게 수정이 되는지는 아래의 black playground에서 직접 실험을 해볼 수 있다.

https://black.vercel.app

 

Black Playground

Playground for Black, the uncompromising Python code formatter.

black.vercel.app

또한 아래 명령어를 실행하면 수정이 필요한 사항에 대해서 체크만 하고 수정은 하지 않는다.

black --check {file_name}

 

다양한 사용 옵션

때때로 formatting이 적용이 되지 않은 것이 더 보기 좋을 때가 있는데 그럴 때는 주석으로 'fmt: off'라고 주석 처리를 해두면 해당 블록에는 포맷팅이 적용되지 않는다.

# fmt: off
custom_formatting = [
    0,  1,  2,
    3,  4,  5,
    6,  7,  8,
]
# fmt: on
regular_formatting = [
    0,  1,  2,
    3,  4,  5,
    6,  7,  8,
]

포맷팅 후

# fmt: off
custom_formatting = [
    0,  1,  2,
    3,  4,  5,
    6,  7,  8,
]
# fmt: on
regular_formatting = [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
]

 

그 외 사용에 편리한 다른 옵션들도 있다.\

-l : 한 라인에 최대 글자 수 (초기값 88)

—diff : 파일을 변경하지 않고 변경되는 부분을 콘솔로 보여준다.

—color : —diff를 사용했을 때 변경점에 색을 입힌다.

black {파일명 또는 폴더명} -l 80 --diff --color

 

참조 : https://www.daleseo.com/python-black/

https://velog.io/@gyuseok-dev/Python.-Black-the-Code-Formatter

https://jiku90.tistory.com/12

https://black.readthedocs.io/en/stable/

'개발' 카테고리의 다른 글

저작권에 대한 내용 정리  (0) 2023.01.23
자연어 전처리 관련 유용한 패키지  (0) 2023.01.22
python flake8 기본 사용법  (0) 2023.01.05
Mini conda  (0) 2022.10.20
알파인 리눅스(Alpine linux)  (0) 2022.08.27
Comments