Python 3.1.3 내가 필요한 것은 ConfigParser를 사용하여 cp1251 파일에서 사전을 읽는 것입니다. 내 예 : 그 후ConfigParser (Python)의 인코딩
config = configparser.ConfigParser()
config.optionxform = str
config.read("file.cfg")
DataStrings = config.items("DATA")
DataBase = dict()
for Dstr in DataStrings:
str1 = Dstr[0]
str2 = Dstr[1]
DataBase[str1] = str2
나는 사전에 따라 일부 UTF-8 파일에 일부 단어를 대체하기 위해 노력하고있어. 그러나 때로는 작동하지 않습니다 (예 : "새로운 라인 캐리지 리턴"이라는 기호 사용). 내 파일은 UTF-8이고 구성 파일 (사전)은 CP1251입니다. 문제가있는 것처럼 보입니다. config를 UTF-8로 디코딩해야합니다. 내가이 tryed했습니다
str1 = Dstr[0].encode('cp1251').decode('utf-8-sig')
그러나 오류 "'utf8' codec can't decode byte 0xcf in position 0"
등장. .decode('','ignore')
을 사용하면 거의 모든 설정 파일이 손실됩니다. 어떻게해야합니까?
'config.read ("file.cfg", encoding = "cp1251")' – Goyo
좋은 소리로 작동하지 않습니다. 벌써 시도 했어. Python3.x 이후에는 "인코딩"속성이 없습니다. 인코딩은 .open() 기본 설정에서 상속됩니다. –
속성과 어떤 관계가 있습니까? 'ConfigParser.read'는 적어도 [python 3.3] (https://docs.python.org/3.3/library/configparser.html#configparser.ConfigParser.read)부터'encoding' 키워드 인자를 가지고 있습니다. 이전 버전을 사용하지 않기를 바랍니다. – Goyo