[pyar] Fortune en Python

Juan Carlos Ojeda juancarlospaco en gmail.com
Jue Sep 23 17:25:52 ART 2010


Gracias, funciona, olvide el Strip()

2010/9/23 "Matías A. Bellone" <matiasbellone en gmail.com>

> On 09/23/2010 05:05 PM, Juan Carlos Ojeda wrote:
>
>> Queria algo como el Fortune de Linux pero en Python,
>> para no depender de mas dependencias valga la redundancia,
>> el problema es que no se por que me devuelve 2 renglones en lugar de 1 ?
>> Como correjirlo y que me devuelva 1 renglon ?
>> /(frases.txt es un archivo de texto plano con 1 frase por renglon)/
>>
>> Muchas gracias
>>
>> juan en 3e:~$ python
>> Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
>> [GCC 4.4.3] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>>  >>> import random
>>  >>> file=open('/home/juan/frases.txt','r')
>>  >>> db=file.readlines()
>>  >>> file.close()
>>  >>> l=len(db)
>>  >>> s = int(1+random.random()*l)
>>  >>> print db[s]
>> "Nunca voy a ver películas donde el pecho del héroe es mayor que el de
>> la heroína" (Groucho Marx)
>>
>>  >>> WTF!!!
>>
>>
> La respuesta a tu pregunta es porque readlines lee todo (incluyendo el
> salto de línea) y print agrega un salto de línea también. Por eso terminás
> con uno de más :P
>
> >>> file = open('/tmp/test')
> >>> db = file.readlines()
> >>> db
> ['un reglon\n', 'dos renglones\n', 'tres renglones']
>
>
> Ahora un "bonus"; te la estás complicando de más:
>
> >>> import random
> >>> random.choice(db)
> 'un reglon\n'
> >>> print random.choice(db).strip()
> tres renglones
> >>>
>
>
> Eso es todo lo que necesitás. Olvidate de todo el resto.
>
> Saludos,
> Toote
>



-- 
.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100923/e846593b/attachment.html>


More information about the pyar mailing list