首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python "SyntaxError:文件中的非ASCII码字符'\xe2‘“

Python "SyntaxError:文件中的非ASCII码字符'\xe2‘“
EN

Stack Overflow用户
提问于 2014-02-08 06:55:16
回答 19查看 329.1K关注 0票数 206

我正在写一些python代码,我收到了标题中的错误消息,这与字符集有关。

下面是导致错误的行

代码语言:javascript
复制
hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")

我找不出哪个字符不在ANSI ASCII集中?此外,搜索"\xe2“不会给出更多有关该字符显示为的信息。该行中的哪个字符导致了问题?

我也看到了这个问题的一些修复,但我不确定使用哪一个。谁能澄清一下问题是什么(python不会解释unicode,除非被告知这样做?),以及我该如何正确地解决这个问题?

编辑:以下是错误行附近的所有行

代码语言:javascript
复制
def createLoadBalancer():
    conn = ELBConnection(creds.awsAccessKey, creds.awsSecretKey)
    hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")
    lb = conn.create_load_balancer('my_lb', ['us-east-1a', 'us-east-1b'],[(80, 8080, 'http'), (443, 8443, 'tcp')])
    lb.configure_health_check(hc)
    return lb
EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2014-02-08 07:11:12

你有一个漂浮的字节。您可以通过运行以下命令找到它

代码语言:javascript
复制
with open("x.py") as fp:
    for i, line in enumerate(fp):
        if "\xe2" in line:
            print i, repr(line)

您应该将"x.py"替换为您的程序的名称。您将看到行号和有问题的行。例如,在任意插入该字节后,我得到:

代码语言:javascript
复制
4 "\xe2        lb = conn.create_load_balancer('my_lb', ['us-east-1a', 'us-east-1b'],[(80, 8080, 'http'), (443, 8443, 'tcp')])\n"
票数 158
EN

Stack Overflow用户

发布于 2014-06-15 00:28:19

如果您只是尝试使用UTF-8字符,或者并不关心代码中是否包含这些字符,请将此行添加到.py文件的顶部

代码语言:javascript
复制
# -*- coding: utf-8 -*-
票数 312
EN

Stack Overflow用户

发布于 2017-04-28 02:02:06

或者,您可以简单地使用:

代码语言:javascript
复制
# coding: utf-8

在.py文件的顶部

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21639275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档