我在 Macbook Pro 上使用英国键盘的 OSX Yosemite。当我在#
Python 文件中键入内容(使用 Alt+3)时,有时(但并非总是)在尝试运行 Python 文件时会看到此语法错误:
SyntaxError: Non-ASCII character '\xc2' in file
我通常可以通过从文件的其他位置复制并粘贴井号来修复它。
我可以通过将我曾经使用过的每个 Python 手动设置为 UTF-8 编码来修复此问题:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
但当我处理其他人的代码时,这并不实用。
有什么方法可以将此键的值重置为 ASCII 友好值#
以避免此错误?
答案1
这里有两个问题。一个原因可能是本地目录中的 .DS_Store 文件包含 UTF-8 字符,而该文件正在后台读取。如果是这种情况,只需将编码添加到文件顶部即可解决问题:
# coding: utf-8
第二个原因可能是我们如何将代码从一个地方传输到另一个地方。如果您使用的是 Mac,并且复制代码,然后使用 cat 将其粘贴到文件中,如下所示:
$ cat > file.py (<-- Hit Command-V to paste while doing this)
这可能会导致一个有趣的问题。格式,更具体地说是前导空格,看起来很符合 Python 风格。但是,制表符已被替换为包含宽字符的内容,无论多少字符编码配置似乎都无法解决。如果您遇到此问题,只需替换所有前导空格,Python 就会非常高兴。