[python] Python “SyntaxError : 파일의 ASCII가 아닌 문자 ‘\ xe2′”
일부 파이썬 코드를 작성 중이며 제목에서와 같이 오류 메시지가 표시됩니다.이 문자 세트와 관련이 있습니다.
오류를 일으키는 줄은 다음과 같습니다.
hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")
ANSI ASCII 세트에없는 문자를 파악할 수 없습니까? 또한 “\ xe2″를 검색해도 어떤 문자가 나타나는지에 대한 정보가 더 이상 제공되지 않습니다. 그 줄의 어떤 문자가 문제를 일으키는가?
또한이 문제에 대한 몇 가지 수정 사항을 보았지만 사용할 것인지 확실하지 않습니다. 누군가 문제가 무엇인지 알 수 있습니까 (파이썬은 유니 코드를 해석하지 않으면 유니 코드를 해석하지 않습니까?), 어떻게 올바르게 정리합니까?
편집 : 여기에 오류가있는 모든 줄이 있습니다.
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
답변
부유 바이트가 떠 다니고 있습니다. 당신은 그것을 실행하여 찾을 수 있습니다
with open("x.py") as fp:
for i, line in enumerate(fp):
if "\xe2" in line:
print i, repr(line)
"x.py"
프로그램 이름으로 바꿔야 합니다. 줄 번호와 문제를 일으키는 줄이 나타납니다. 예를 들어, 해당 바이트를 임의로 삽입 한 후
4 "\xe2 lb = conn.create_load_balancer('my_lb', ['us-east-1a', 'us-east-1b'],[(80, 8080, 'http'), (443, 8443, 'tcp')])\n"
답변
UTF-8 문자를 사용하려고하거나 코드에 있는지 신경 쓰지 않으면이 줄을 .py
파일 맨 위에 추가 하십시오
# -*- coding: utf-8 -*-
답변
또는 단순히 다음을 사용할 수 있습니다.
# coding: utf-8
.py 파일 맨 위에
답변
\ xe2는 ‘-‘문자이며 일부 사본에 나타나고 붙여 넣기에는 다르게 보이는 ‘-‘를 사용하여 인코딩 오류가 발생합니다. ‘-‘(사본 붙여 넣기에서)를 올바른 ‘-‘(키보드 단추에서)로 바꾸십시오.
답변
파일 문자 인코딩을 변경하십시오.
아래 코드를 항상 맨 위에 넣으십시오.
# -*- coding: utf-8 -*-
답변
웹에서 의견을 복사하여 붙여 넣는 동안 동일한 오류가 발생했습니다.
나에게 그것은 단어에서 작은 따옴표 ( ‘)였습니다
방금 지워서 다시 입력했습니다.
답변
.py 파일의 첫 줄에 # coding = utf-8 줄을 추가 하면 문제가 해결됩니다.
아래 기사 링크에서 문제 및 수정 사항에 대한 자세한 내용을 읽으십시오.이 기사의 문제에 대한 해결책은 아름답게 설명되어 있습니다 : https://www.python.org/dev/peps/pep-0263/