
python 为什么中文字符串在dict会乱码
1个回答
展开全部
Python在执行过程中,常常出现不能读取中文路径名,表现为读取的路径是空或者直接报错(WindowsError: [Error 2]);也有时候出现不能正常输出中文字符串,编译器报错为(KeyError),这是编码出现了问题。这个时候在字符串后面添加转码操作即可。
详见源码示例如下
【中文字符串】
[python] view plain copy
print '品牌id'.decode('utf-8')
print '\xe5\x93\x81\xe7\x89\x8cid'.decode('utf-8')
上面两行输出结果是一致的。
【中文路径读取文件】
[python] view plain copy
# 获取当前路径下的文件夹
import numpy as np
from os.path import exists, isdir, basename, join, splitext
from glob import glob
data_path = 'F:\\wfpdm\\My_Proc_Data_ZXTZ\\美国数据库\\ 自相\
关特征\\'.decode('utf-8')
cat_paths = glob(data_path + "*")
cat_paths.sort()
cats = [basename(cat_path) for cat_path in cat_paths]
详见源码示例如下
【中文字符串】
[python] view plain copy
print '品牌id'.decode('utf-8')
print '\xe5\x93\x81\xe7\x89\x8cid'.decode('utf-8')
上面两行输出结果是一致的。
【中文路径读取文件】
[python] view plain copy
# 获取当前路径下的文件夹
import numpy as np
from os.path import exists, isdir, basename, join, splitext
from glob import glob
data_path = 'F:\\wfpdm\\My_Proc_Data_ZXTZ\\美国数据库\\ 自相\
关特征\\'.decode('utf-8')
cat_paths = glob(data_path + "*")
cat_paths.sort()
cats = [basename(cat_path) for cat_path in cat_paths]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |