【问题标题】:SyntaxError: Non-ASCII character '\xe2'SyntaxError: 非 ASCII 字符 '\xe2'
【发布时间】:2014-10-01 04:12:49
【问题描述】:

我写了一个程序来给我超级狗币的价值

import time
import urllib2
from datetime import datetime

def get_HTML():
    response = urllib.request.urlopen('http://www.dogepay.com')
    html = response.read()
    return html

def get_Value(rawHTML):
    index = rawHTML.find(“CCFF00”)
    while(rawHTML[index] != “$”):
            index = index + 1
    index = index + 1
    value = “”
    while(rawHTML[index].isdigit() or rawHTML[index] == ‘.’):
            value = value + rawHML[index]
            index = index + 1
    return float(value)

def get_DateTime():
    now = datetime.now()
    return '%s/%s/%s %s:%s:%s' % (now.month, now.day, now.year, now.hour, 
                                  now.minute, now.second)

def print_Output(DogeCoinValue, TimeDate):
    print timeDate + “ $“ + str(dogeCoinValue)

while(True):
    rawHTML = get_HTML()
    dogeCoinValue = get_Value(rawHTML)
    timeDate = get_DateTime()
    print_Output(dogeCoinValue, timeDate)
    time.sleep(5)

但是当我去运行它时,我得到了

File "MegaDogeCoinTicker.py", line 11
SyntaxError: Non-ASCII character '\xe2' in file MegaDogeCoinTicker.py on line 
11, but no encoding declared; see http://www.python.org/peps/pep-0263.html 
for details

我需要做什么来修复它?当我在我的 pi 上运行它时它可以工作,但我似乎无法让它在我的笔记本电脑上运行。我的笔记本电脑正在运行 Python 2.7.5

【问题讨论】:

  • 我将所有 更改为" 并将 更改为' 并得到Traceback (most recent call last): File "MegaDogeCoinTicker.py", line 29, in <module> rawHTML = get_HTML() File "MegaDogeCoinTicker.py", line 6, in get_HTML response = urllib.request.urlopen('http://www.dogepay.com') NameError: global name 'urllib' is not defined
  • ...这是一个完全不同的错误,意味着您的问题已经解决。

标签: python python-2.7


【解决方案1】:

除了不使用非ascii引号外,还应该在代码的第一行添加:

# -*- coding: utf-8 -*-

details

【讨论】:

    【解决方案2】:

    您应该使用标准的 ASCII 引号:

    index = rawHTML.find("CCFF00")
    

    而不是:

    index = rawHTML.find(“CCFF00”)
    

    【讨论】:

    • 建议,为您编写 Python 代码的任何内容选择一个更好的编辑器。
    • @g.d.d.c -- 是的,使用专为编写代码而设计的编辑器通常是个好主意 :-)
    • @g.d.d.c 这到处都是 MS Word 的味道。
    • 我将所有 更改为" 并将 更改为' 并得到Traceback (most recent call last): File "MegaDogeCoinTicker.py", line 29, in <module> rawHTML = get_HTML() File "MegaDogeCoinTicker.py", line 6, in get_HTML response = urllib.request.urlopen('http://www.dogepay.com') NameError: global name 'urllib' is not defined
    • @AceFuzion,好吧,得到这个错误意味着应该修复这个错误。此外,如果您阅读您的代码,其原因应该是完全显而易见的。
    【解决方案3】:

    我遇到了这个问题,结果我从浏览器复制/粘贴复制了看起来像普通破折号但不是的东西。可能需要注意一些简单的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-24
      • 2013-08-07
      • 1970-01-01
      • 2018-08-09
      • 2014-09-16
      • 2019-06-20
      • 2014-03-05
      • 2017-07-27
      相关资源
      最近更新 更多