본문 바로가기
관리자

Programming-[Backend]/Python

[TIL] python locale, OS의 locale

728x90
반응형

1. 사용 목적

 

python locale

국제화를 위해 사용한다. 예를 들어 한국에서는 소수점을 .으로 표기하여 123.456 식으로 표현하지만, 유럽에서는 123,456 과 같이 소수점을 콤마로 표시할 수 있는데, 이런 변환을 하기 위해서 사용한다.

 

 

OS locale

터미널에서 locale 명령어를 입력하면 사용 중인 OS의 locale 정보를 확인할 수 있다. 그리고 locale -a  를 입력하면 모든 지역 코드를 확인할 수 있다.

 

 

2. 기본 문법

 

https://docs.python.org/ko/3/library/locale.html

 

기본 문법은 위 파이썬 사이트에서 안내하고 있다. 파이썬 내장 패키지이므로 import locale로 불러올 수 있고,

locale.setlocale(카테고리, 사용지역)

으로 사용한다.

 

카테고리

아래 사진과 같은 방식이라고 보며 된다. local.setlocale(locale.LC_NUMERIC, 사용지역) 이라고 하면 숫자 관련 정보를 사용 지역에 맞추겠다는 것이 된다.

 

 

사용 지역

https://phrase.com/blog/posts/beginners-guide-to-locale-in-python/

 

사용 지역별로 코드가 있다. 위 링크의 코드를 python console에서 쳐보면 코드들을 확인할 수 있다.

# for Windows users
for lang in locale.windows_locale.values():
    print(lang)
# for other operating systems
for lang in locale.locale_alias.values():
    print(lang)

 

 

 

한계점?

어떤 파일이나 모듈별로 locale 설정을 바꿀 수 있는게 아닌거 같다. 그리고 Docker를 사용하고 있다면 Dockerfile에서 locale 설정 자체를 바꿔줘야하는 것 같다...

728x90
반응형