DataScience
728x90

파이썬에서 날짜 형식을 지정하는 함수 strftime을 사용하면 아래와 같이 출력이 됩니다.

 

print(today.strftime('%Y. %m. %d.'))#실행결과
2019. 03. 06.
print(today.strftime('year: %Y month: %m day : %d'))#실행결과
year: 2019 month: 03 day : 06


하지만 형식에 한글이 들어가면 아래와 같이 에러가 발생합니다.

$ print(today.strftime('%Y년 %m월 %d일'))#실행결과
Traceback (most recent call last):
  File "c:\Users\jeakwon\Desktop\workspace_docx\docx\take_in_request_form.py", line 7, in <module>
    print(datetime.datetime.now().date().strftime('%Y년 %m월 %d일'))
UnicodeEncodeError: 'locale' codec can't encode character '\ub144' in position 2: encoding error

 

해결방법으로는 

  • strftime 인풋 string을 유니코드 인코딩 후 디코딩
    ‘%Y년 %m월 %d일’.encode(‘unicode-escape’).decode()​
  • strftime 아웃풋 string 을 인코딩 후 유니코드 디코딩
    strftime( ~ ).encode().decode(‘unicode-escape’))

 

print(
    today.strftime(
        '%Y년 %m월 %d일'.encode('unicode-escape').decode()
    ).encode().decode('unicode-escape')
)#실행결과
2019년 03월 06일

'파이썬 > 파이썬 에러' 카테고리의 다른 글

selenium ChromeDriver PermissionError  (134) 2024.01.10
profile

DataScience

@Ninestar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!