El código PyCharm contiene SyntaxError chino: solución de caracteres no ASCII [una pieza es suficiente]

RMB_value = input("请输入人民币金额 :")
print(RMB_value)

La ejecución del código anterior en PyCharm informa el siguiente error:

SyntaxError: Carácter no ASCII '\ xe8' en el archivo C: /Users/Administrator/PycharmProjects/currency_convert/currency_cvt.py en la línea 1, pero sin codificación declarada; consulte http://python.org/dev/peps/pep-0263/ para obtener más detalles

Contenido de la dirección del enlace:


Definición de la codificación

Python utilizará de forma predeterminada ASCII como codificación estándar si no se dan otras sugerencias de codificación.

Para definir una codificación de código fuente, se debe colocar un comentario mágico en los archivos fuente como primera o segunda línea en el archivo, como por ejemplo:

# coding = <nombre de codificación>

o (utilizando formatos reconocidos por editores populares):

#! / usr / bin / python
# - * - codificación: <nombre de codificación> - * -

o:

#! / usr / bin / python
# vim: set fileencoding = <nombre de codificación>:

Más precisamente, la primera o segunda línea debe coincidir con la siguiente expresión regular:

^ [\ t \ f] * #. *? codificación [: =] [\ t] * ([-_. a-zA-Z0-9] +)

El primer grupo de esta expresión se interpreta luego como nombre de codificación. Si Python desconoce la codificación, se genera un error durante la compilación. No debe haber ninguna declaración de Python en la línea que contiene la declaración de codificación. Si la primera línea coincide, la segunda línea se ignora.

Para ayudar con plataformas como Windows, que agregan marcas BOM Unicode al comienzo de los archivos Unicode, la firma UTF-8 \ xef \ xbb \ xbf también se interpretará como codificación 'utf-8' (incluso si no hay comentarios de codificación mágica es dado).

Si un archivo de origen utiliza tanto la firma de la marca BOM UTF-8 como un comentario de codificación mágica, la única codificación permitida para el comentario es 'utf-8'. Cualquier otra codificación provocará un error.

Ejemplos

Estos son algunos ejemplos para aclarar los diferentes estilos para definir la codificación del código fuente en la parte superior de un archivo fuente de Python:

  1. Con intérprete binario y usando el comentario de codificación de archivos de estilo Emacs:

    #! / usr / bin / python
    # - * - codificación: latin-1 - * -
    import os, sys
    ...
    
    #! / usr / bin / python
    # - * - codificación: iso-8859-15 - * -
    import os, sys
    ...
    
    #! / usr / bin / python
    # - * - codificación: ascii - * -
    import os, sys
    ...
    
  2. Sin línea de intérprete, usando texto sin formato:

    # Este archivo Python usa la siguiente codificación: utf-8
    import os, sys
    ...
    
  3. Los editores de texto pueden tener diferentes formas de definir la codificación del archivo, por ejemplo:

    #! / usr / local / bin / python
    # codificación: latin-1
    import os, sys
    ...
    
  4. Sin comentarios de codificación, el analizador de Python asumirá texto ASCII:

    #! / usr / local / bin / python
    import os, sys
    ...
    
  5. Codificación de comentarios que no funcionan:

    1. Falta el prefijo "coding:":

      #! / usr / local / bin / python
      # latin-1
      import os, sys
      ...
      
    2. Comentario de codificación no en la línea 1 o 2:

      #! / usr / local / bin / python
      #
      # - * - codificación: latin-1 - * -
      import os, sys
      ...
      
    3. Codificación no admitida:

      #! / usr / local / bin / python
      # - * - codificación: utf-42 - * -
      import os, sys
      ...
      

[Resumen-Solución]

Agregue # coding = utf8# - * - coding: utf8 - * - al comienzo de la línea del archivo py .

Más popular es agregar

#! / usr / bin / python
# - * - codificación: utf8 - * -

Supongo que te gusta

Origin blog.csdn.net/sjmz30071360/article/details/88563774
Recomendado
Clasificación