2018년 12월 9일 일요일

PyThon Non-UTF-8 code starting with '\xXX' in file XXXXXX.py on line XXXX .... 발생 원인과 해결 방법


에러 출력 문구

SyntaxError: Non-UTF-8 code starting with '\xXX' in file XXXXXX.py on line XXXX, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

발생 원인

PyThon 소스 파일의 encoding과 write하고자 하는encoding이 달라서 발생 하는 현상
예)
소스
import numpy as np
import csv

f = open('train.tsv', 'w', encoding='utf-8', newline='')
wr = csv.writer(f, delimiter='\t')
wr.writerow("한글")

f.close()

문서 encoding : ANSI

위 PyThon 소스 파일은 encoding이 ANSI로 되어 있어서 한글로 쓴 글씨 또한 ANSI로 인코딩이 되어있습니다. 이러한 내용을 utf-8로 저장하려고 하기 때문에 오류가 발생하는것입니다.

해결 방법

두개의 포맷을 맞추어 주어야 합니다.
일반적으로 utf-8형태를 많이 사용하므로 소스 문서를 utf-8로 변환해서 저장합니다. 변환 하는 방법은 notepad++의 변환 메뉴(인코딩->UTF8로 변환)를 이용한 후 문서를 저장 합니다.







댓글 1개: