背景
一开始写了一个ArcGIS的python脚本,是独立脚本,在pycharm里运行了一下,运行成功。但是把这个脚本放到ArcGIS的工具箱中,就无法正常运行了。出现了如下的报错。
IndentationError: unexpected indent。
上图来自于百度经验的一篇文章。因为当时没截图,懒得再重现这个问题。。。
寻找解决方案
代码缩进问题
在百度上搜索这个报错,大多数回答都是叫你查找代码中的缩进问题,空格问题。如上图来源的那篇文章那样。
问题是,我的代码在pycharm里可以运行成功,而且我仔细检查了好几遍代码都没发现有什么问题。。。
代码中的中文(包括注释里的中文)
我用的ArcGIS10.2,python版本是2.7。这版本的python不太支持中文,但是一般在pycharm环境下的代码开头加上# coding=utf-8就可以正常运行了。
# coding=utf-8
刚好我的代码报错那一行的上一行就有一段中文注释。于是我试了一下,把那行中文注释去掉,就成功了
总结
1、ArcGIS的python脚本能不用中文,就不要用中文
2、如果非要用中文,可以考虑在脚本代码开头加上# coding: cp936