Arcpy编码问题解决

198 阅读1分钟

在使用Arcpy编程时,由于python版本或安装环境的问题,脚本运行期间可能会出现与字符串编码相关的错误,主要表现在含中文字符的字符串上,例如UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128),对于这种错误,解决方法如下:

文件头部声明编码方式

脚本的第一行添加注释:

# coding:utf-8

文件编码全部采用UTF-8编码

字符串编码声明

字符串在赋值时声明编码方式:

name='城市用地'.decode('utf-8')

最有用的方法

在脚本前面导入sys模块,添加如下代码:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')