elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema con comentar bloques en Python 3 (Resuelto)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con comentar bloques en Python 3 (Resuelto)  (Leído 4,123 veces)
lucas25cba

Desconectado Desconectado

Mensajes: 108


Ver Perfil
Problema con comentar bloques en Python 3 (Resuelto)
« en: 28 Octubre 2015, 14:02 pm »

Buenas!
Recién empiezo y ya estoy mareado...  :P
Una duda:
Tengo el siguiente programa sacado de un tutorial:

Citar
#parahumanos.py

SUFIJOS = {1000: [ 'KB' , 'MB' , 'GB' , 'TB' , 'PB' , 'EB' , 'ZB' , 'YB' ] ,
           1024: [ 'KiB ' , 'MiB ' , 'GiB ' , 'TiB ' , 'PiB ' , 'EiB ' , ' ZiB ' ,
                   'YiB ' ]}

def tamanyo_aproximado(tamanyo , un_kilobyte_es_1024_bytes=True ):
    ''' Convierte un tamaño de fichero en formato legible por personas

     Argumentos/parámetros:
     tamanyo __ tamaño de fichero en bytes
     un_kilobyte_es_1024_bytes __ si True (por defecto),
                                  usa múltiplos de 1024
                                  si False, usa múltiplos de 1000

     retorna : string

     '''    
    
    if tamanyo < 0 :
        raise ValueError ("el número debe ser no negativo")

    multiplo = 1024 if un_kilobyte_es_1024_bytes else 1000
    for sufijo in SUFIJOS [multiplo]:
        tamanyo /= multiplo
        if tamanyo < multiplo:
            return ' {0:.1f} {1} ' . format ( tamanyo , sufijo)

    raise ValueError ( 'número demasiado grande ' )

if __name__ == '__ main__':
    print (tamanyo_aproximado (1000000000000 , False))
    print (tamanyo_aproximado (1000000000000) )

Estoy usando Eclipse con PyDev
Al intentar interpretar dicho programa, me larga:
Citar
File "C:\Users\Usuario\Downloads\LABORATORIO\PYTHON\paraHumanos\src\paraHumanos.py", line 8
SyntaxError: Non-UTF-8 code starting with '\xf1' in file C:\Users\Usuario\Downloads\LABORATORIO\PYTHON\paraHumanos\src\paraHumanos.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details


(La linea 8 es
Citar
''' Convierte un tamaño de fichero en formato legible por personas

Si quito las triples comillas simples y pongo al comienzo de cada linea del bloque de comentarios el simbolo "#", sale el mismo error...



« Última modificación: 28 Octubre 2015, 14:56 pm por lucas25cba » En línea

lucas25cba

Desconectado Desconectado

Mensajes: 108


Ver Perfil
Re: Problema con comentar bloques en Python 3
« Respuesta #1 en: 28 Octubre 2015, 14:09 pm »

Perdon! Paso el codigo como corresponde, no como una cita! Si que estoy mareado  :P

Código
  1. #parahumanos.py
  2.  
  3. SUFIJOS = {1000: [ 'KB' , 'MB' , 'GB' , 'TB' , 'PB' , 'EB' , 'ZB' , 'YB' ] ,
  4.           1024: [ 'KiB ' , 'MiB ' , 'GiB ' , 'TiB ' , 'PiB ' , 'EiB ' , ' ZiB ' ,
  5.                   'YiB ' ]}
  6.  
  7. def tamanyo_aproximado(tamanyo , un_kilobyte_es_1024_bytes=True ):
  8.    ''' Convierte un tamaño de fichero en formato legible por personas
  9.  
  10.     Argumentos/parámetros:
  11.     tamanyo __ tamaño de fichero en bytes
  12.     un_kilobyte_es_1024_bytes __ si True (por defecto),
  13.                                  usa múltiplos de 1024
  14.                                  si False, usa múltiplos de 1000
  15.  
  16.     retorna : string
  17.  
  18.     '''    
  19.  
  20.    if tamanyo < 0 :
  21.        raise ValueError ("el número debe ser no negativo")
  22.  
  23.    multiplo = 1024 if un_kilobyte_es_1024_bytes else 1000
  24.    for sufijo in SUFIJOS [multiplo]:
  25.        tamanyo /= multiplo
  26.        if tamanyo < multiplo:
  27.            return ' {0:.1f} {1} ' . format ( tamanyo , sufijo)
  28.  
  29.    raise ValueError ( 'número demasiado grande ' )
  30.  
  31. if __name__ == '__ main__':
  32.    print (tamanyo_aproximado (1000000000000 , False))
  33.    print (tamanyo_aproximado (1000000000000) )
  34.  




En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Problema con comentar bloques en Python 3
« Respuesta #2 en: 28 Octubre 2015, 14:48 pm »

Coloca esto en la cabecera de tu archivo
Código
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

El problema es que estas usando tildes en los comentarios, y necesitas decirle explictamente que use el encoding utf8 para que entienda esos tildes.

De hecho si ingresas a la pagina que te sale en el error te explica ahí detalladamente.
https://www.python.org/dev/peps/pep-0263/
Citar
Defining the Encoding
    Python will default to ASCII as standard encoding if no other
    encoding hints are given.

    To define a source code encoding, a magic comment must
    be placed into the source files either as first or second
    line in the file, such as:

          # coding=<encoding name>

    or (using formats recognized by popular editors)

          #!/usr/bin/python
          # -*- coding: <encoding name> -*-

    or

          #!/usr/bin/python
          # vim: set fileencoding=<encoding name> :
« Última modificación: 28 Octubre 2015, 14:52 pm por Pablo Videla » En línea

lucas25cba

Desconectado Desconectado

Mensajes: 108


Ver Perfil
Re: Problema con comentar bloques en Python 3
« Respuesta #3 en: 28 Octubre 2015, 14:56 pm »

Joya! Gracias!!!!!
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Problema con comentar bloques en Python 3
« Respuesta #4 en: 28 Octubre 2015, 14:59 pm »

Joya! Gracias!!!!!

De nada, saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresiones regulares --->(Python)[Resuelto]
Scripting
¨°o.O (ßa¢Kg|姧) O.o° 2 4,628 Último mensaje 29 Marzo 2010, 02:21 am
por Novlucker
Problema al crear bloques en php-nuke y php fusion
Desarrollo Web
balsutt 1 2,243 Último mensaje 28 Enero 2012, 17:02 pm
por balsutt
[Resuelto] input de Python en C++?
Programación C/C++
Br1ant 7 3,908 Último mensaje 28 Junio 2015, 19:31 pm
por Br1ant
ayuda a comentar codigo python
Scripting
bengy 0 1,907 Último mensaje 3 Septiembre 2016, 22:41 pm
por bengy
Problema con Python y SSL [RESUELTO]
Scripting
NikNitro! 3 4,828 Último mensaje 5 Julio 2017, 22:59 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines