当我将其粘贴到 vim 时,怎么会出现语法错误?
Posted
技术标签:
【中文标题】当我将其粘贴到 vim 时,怎么会出现语法错误?【英文标题】:How come when I paste this in vim, I get syntax errors? 【发布时间】:2011-07-10 20:46:54 【问题描述】:def latlong_distance(origin, destination):
lat1, lon1 = origin
lat2, lon2 = destination
radius = 6371
dlat = math.radians(lat2-lat1)
dlon = math.radians(lon2-lon1) a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
d = radius * c
return d * 1000
语法错误:文件 /tools.py 第 65 行中的非 ASCII 字符“\xc2”,但未声明编码;详情见http://www.python.org/peps/pep-0263.html
【问题讨论】:
您是否阅读了错误信息? 这和vim有什么关系? 这可能是间距问题(\xc2 是空格字符),尝试仅使用空格重新缩进,别无其他。您也可以将# -*- coding:utf-8 -*-
放在文件顶部,看看是否有帮助。
是的,没错,谢谢。
我会发布它作为答案然后我们可以解决这个问题:)
【参考方案1】:
我稍微修改了代码:
dlon = math.radians(lon2-lon1) a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
应该像这样分成两行:
dlon = math.radians(lon2-lon1)
a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
我试过了,没有出现异常。你能把那个文件附在这里吗?
【讨论】:
【参考方案2】:这可能是一个间距问题(\xc2 是一个空格字符),尝试只使用空格重新缩进,别无其他。您也可以将# -*- coding:utf-8 -*-
放在文件顶部,看看是否有帮助。
【讨论】:
以上是关于当我将其粘贴到 vim 时,怎么会出现语法错误?的主要内容,如果未能解决你的问题,请参考以下文章
JS异步/等待的CORS错误,但当我将URL直接粘贴到浏览器时没有[重复]
老男孩教育每日一题-2017年5月9日-vim命令粘贴带#号或注释信息格式会出现混乱情况怎么办