【发布时间】:2017-03-15 01:38:32
【问题描述】:
我创建了一些带有特殊字符的列表。但是,当我打印这些列表时,编解码器中出现了一些错误。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#My lists
geometriaAproximada = ['Sim', 'Não'];
regime = ['Permanente', 'Permanente com grande variação', 'Temporário',
'Temporário com leito permanente', 'Seco'];
tipomassadagua = ['Oceano', 'Baía', 'Enseada', 'Meandro abandonado',
'Lago/Lagoa', 'Represa/Açude', 'Desconhecida'];
vegetacao_nivel_1 = ['Manguezal', 'Restinga', 'Brejo Litoraneo', 'Mussununga',
'Vegetação com influência fluvial e/ou lacustre', 'Compo Rupestre'
'Floresta Estacional', 'Cerrado', 'Caatinga', 'Áreas Antropizadas',
'Rios, Lagos, Lagoas, e Corpos d''água'];
vegetacao_nivel_2 = ['Arbustiva/Arbórea', 'Apicum', 'Herbáceo-Arbustivo', 'Arbustiva', 'Herbácea',
'Terras baixas', 'Aluvial' 'de Altitude (Submontana ou Montana)', 'Decidual', 'Semidecidual'
'Tipo biogeográfico de Cerrado', 'Tipo biogeográfico de Caatinga'];
vegetacao_nivel_3 = ['Estágio secundário inicial de regeneração',
'Estágio secundário médio de regeneração',
'Estágio primário e/ou secundário avançado de regeneração',
'Mata de Cipó', 'Terras baixas', 'de Altitude (Submontana/Montana)', 'Aluvial',
'Florestado (Cerradão)', 'Arborizado (Stricto sensu)', 'Parque (Campo cerrado)', 'Campo Limpo',
'Vereda', 'Floresta de galeria',
'Florestada', 'Arborizada', 'Parque', 'Gramínio-lenhosa'];
当我打印其中的某个人时:
print regime
['Permanente', 'Permanente com grande varia\xc3\xa7\xc3\xa3o', 'Tempor\xc3\xa1rio', 'Tempor\xc3\xa1rio com leito permanente', 'Seco']
我能做些什么来纠正它?
【问题讨论】:
-
把大部分例子拿出来,集中在一个短名单上怎么样?
-
print只能打印文本。如果您给出不同的内容,那么它会尝试将其转换为 unambiguous 字符串 - 例如,如果它是列表,那么它会添加[、]、配额标记(用于字符串)并使用十六进制代码本机字符向您展示使用了什么精确编码 - 所以这不是错误,而是故意的行为。如果您需要正确的文本,您必须自己将列表转换为字符串。 -
也可能是其他问题 -
print自动尝试将文本转换为控制台使用的编码。如果控制台不使用 UTF-8,那么有时您会看到十六进制代码而不是 unicode 字符。
标签: python python-2.7 list codec