linux环境下发生编码错误。windows下正常。
linux下已经在命令行改过编码格式,LANG=zh_CN.UTF-8
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 4-6: ordinal not in range(256)
最前面已经有 # -- coding:utf-8 --
这里写的是读取本地excel表格的表名。表名有数字和汉字。是在print的时候报错。
excel_files = get_excel_files(config.get_standard_template_files())#os.walk获得excel文件
standard_template_infos = {} for file in excel_files: wb = xlrd.open_workbook(file) sheet_names = wb.sheet_names() for sheet_name in sheet_names: standard_template_id = get_standard_template_id(sheet_name) if not standard_template_id: print '请检查文件【%s】中的sheet页面【%s】。' % (file, sheet_name) continue sheet = wb.sheet_by_name(sheet_name) point_codes = [] nrows = sheet.nrows if nrows <= 2: continue print sheet_name
def get_standard_template_id(sheet_name):#在这个函数中报错
pattern = u'^(\d{5})' match = re.match(pattern, sheet_name) if match is not None: code = sheet_name[0:5] return code else: print sheet_name#在这里报错 return None
linux下python版本2.7.3.报错,
windows下python版本 2.7.13正常运行
求指教
从错误信息可以得知,你的 Linux 系统上 Python 使用的默认编码是 latin-1
。
如果你正确设置了 LANG
和 LC_ALL
环境变量还出错的话,可以试试再设置 PYTHONIOENCODING
环境变量:
export PYTHONIOENCODING=utf-8
windows下的特殊编码,你可能需要转换,详情移步http://stackoverflow.com/ques...