解决ArcPy脚本工具中文乱码问题

Posted liweis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决ArcPy脚本工具中文乱码问题相关的知识,希望对你有一定的参考价值。

ArcPy是一个很香的地理空间数据库处理模块,但它必须依赖ArcGIS和Python环境,由于常用的ArcGIS版本默认支持的是Python2.7,它对中文支持并不好,因此,编码问题是入门时必须解决的问题。

这里不细说ASCII、GB2312、Unicode、UTF-8的区别,可自行百度之;Python2和Python3系统默认编码分别是ASCII和UTF-8。往往编写的脚本能正常执行,但制作成共享的ToolBox工具就报编码问题:EOL while scanning string literal

技术图片

这是因为代码中包含了中文,而编码不能正确识别,以至于最初想到的解决方案是全写英文注释和字符串。

技术图片

解决方案

通过设置编码,可正常使用中文进行注释和消息输出。

技术图片

技术图片

分享下面的解决方案给大家:

(1)文件中包含中文,首先编码必须支持,在py 文件最前面指定编码;

# -- coding:cp936 –

(2)文件保存的编码必须以ANSI,即系统默认编码保存,使用UTF-8编码的中文不会被系统默认编码(cp936)所识别。

技术图片

注意:使用vs code等编辑器保存py文件时,注意编码的选择。

以上是关于解决ArcPy脚本工具中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

如果从 C# 控制台应用程序调用,则调用的 Arcpy 脚本不会完成

怎么解决loadrunner的手机app协议脚本截图乱码

ArcPy入门

arcpy脚本使用多接图表图斑对对应多幅影像进行裁边处理

从批处理文件运行多处理arcpy python

loadrunner录制成功但脚本内容为空,无任何代码//脚本中包含乱码