A chave hash padrão do OSX produz erros não-ASCII no Python?

1

Estou usando o OSX Yosemite em um Macbook Pro com um teclado do Reino Unido. Quando digito # em um arquivo Python (usando Alt + 3) às vezes, mas nem sempre, vejo esse erro de sintaxe quando tento executar o arquivo Python:

SyntaxError: Non-ASCII character '\xc2' in file

Normalmente, posso corrigi-lo copiando e colando um caractere de hash de outro lugar no arquivo.

Eu poderia consertá-lo definindo manualmente cada Python em que já trabalhei para a codificação UTF-8:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

mas isso não é muito prático quando estou trabalhando no código de outras pessoas.

Existe alguma maneira de eu poder redefinir o valor dessa chave para um # compatível com ASCII para evitar esse erro?

    
por Richard 20.03.2015 / 12:39

1 resposta

0

Há um problema duplo no trabalho aqui. Uma causa pode ser um arquivo .DS_Store contendo caracteres UTF-8 dentro dele no diretório local que está sendo lido nos bastidores. Se este for o caso, basta adicionar a codificação à parte superior do arquivo para corrigi-lo:

# coding: utf-8

Uma segunda causa pode ser como obtemos código de um lugar para outro. Se você estiver usando um Mac e copiar o código, cole-o em um arquivo com o seguinte tamanho:

$ cat > file.py       (<-- Hit Command-V to paste while doing this)

Isso pode levar a um problema interessante. A formatação, mais especificamente o espaço principal, parece Pythonic. No entanto, suas guias foram substituídas por algo contendo caracteres largos que nenhuma configuração de codificação de caracteres pode parecer resolver. Se você enfrentar isso, basta substituir todos os espaços em branco iniciais e o Python ficará muito feliz.

    
por 23.11.2015 / 14:01