【问题标题】:Non-ASCII character '\xe2' in file but no encoding declared文件中的非 ASCII 字符“\xe2”但未声明编码
【发布时间】:2019-06-20 16:29:30
【问题描述】:

我编写了一个脚本,使用wfdb python 库从 MIT-BIH 数据集中提取信号。当我在 windows 上运行该脚本时,它运行良好,但我最近转移到了 Mac。安装所有依赖项后,当我尝试从 wfdb 库导入 processing 时出现错误。这是我得到的错误:

语法错误:第 3346 行的文件 /usr/local/lib/python2.7/site-packages/scipy/stats/_continuous_distns.py 中的非 ASCII 字符“\xe2”,但未声明编码;详情见http://python.org/dev/peps/pep-0263/

import wfdb 工作正常,但是当我执行from wfdb import processing 时似乎有问题。有没有办法解决这个问题?

【问题讨论】:

  • 你或许应该考虑更新到 Python 3,2020 年对 Python 2 的支持结束

标签: python encoding signal-processing non-ascii-characters


【解决方案1】:

请在代码顶部添加以下行。

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

另外,避免使用非 ascii 引号。

【讨论】:

    【解决方案2】:

    此错误是由于从网页复制和粘贴代码导致杂散字节浮动引起的。你可以通过运行找到它。

    with open('my_script.py', 'r') as ms:
        for i, line in enumerate(ms):
            if '\xe2' in line:
                print(i, repr(line))
    

    在有'\xe2'的地方会打印行和它的索引值:

    4, "\xe2        word=string.printable(random.randint[0,61]) # Gets the random word"
    

    注意:您应该将 my_script.py 替换为您各自的 .py 文件。

    【讨论】:

      【解决方案3】:

      这是由于 scipy bug 一直是 fixed

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-05
        • 2015-12-05
        相关资源
        最近更新 更多