Я читаю конфигурационный файл в разделе создания python и создания новых файлов конфигурации для каждого раздела.Python UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xc3
Однако .. Я получаю сообщение об ошибке декодирования, потому что одна из строк содержит Español=spain
self.output_file.write(what.replace(" = ", "=", 1))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128)
Как бы я изменить свой код, чтобы для закодированных символов, таких, как эти? Я новичок в этом, так пожалуйста, простите меня, если это что-то просто ..
class EqualsSpaceRemover:
output_file = None
def __init__(self, new_output_file):
self.output_file = new_output_file
def write(self, what):
self.output_file.write(what.replace(" = ", "=", 1))
def get_sections():
configFilePath = 'C:\\test.ini'
config = ConfigParser.ConfigParser()
config.optionxform = str
config.read(configFilePath)
for section in config.sections():
configdata = {k:v for k,v in config.items(section)}
confignew = ConfigParser.ConfigParser()
cfgfile = open("C:\\" + section + ".ini", 'w')
confignew.add_section(section)
for x in configdata.items():
confignew.set(section,x[0],x[1])
confignew.write(EqualsSpaceRemover(cfgfile))
cfgfile.close()
проверить, что 'what.replace (" = "," = ", 1) .encode ('utf-8')' works – mic4ael
Я только что протестировал и дал мне следующее: 'self.output_file.write (что .replace ("=", "=", 1) .encode ('utf-8')) UnicodeDecodeError: кодек ascii не может декодировать байт 0xc3 в позиции 4: порядковый номер не в диапазоне (128) ' –
Удалить первая строка (+ создать с помощью utf-8)! – dsgdfg