Páginas

Sunday, August 23, 2009

Python: o print agora se chama raw_input

Opa! Ah? Que? O que que houve? Como assim?

Certo, nada mudou no Python... na verdade mudou, agora no Python 3.0 o raw_input virou input, que não deve ser confundido com o input presente nas versões pre-3.0.

A dica que deixo aqui é apenas um fato que percebi que tenho utilizado há algum tempo... talvez uma nova "técnica", mas que não dei muita bola até que comecei a falar sobre ela com amigos, e pensei que não faria mal relatar aqui.

Às vezes queremos colocar um print no meio do código, naquele processo de depuração (claro, você está fazendo TDD e dificilmente precisa fazer isso) e o que acontece é que, na maioria dos casos, temos que ficar caçando onde o output foi parar, quando você tem muita informação que surge no terminal.

Então, use o raw_input, que terá o mesmo efeito do print, porém o interpretador vai parar logo após exibir o que solicitou. Basta pressionar qualquer tecla para continuar a execução do script.

Outrar opção é parar com AssertionError, fazendo:

assert False, objeto_ou_valor_a_ser_inspecionado

Exemplo:
def get_tweets(user):
   from gluon.tools import fetch
   from gluon.contrib.simplejson import loads as sj_loads
   
   page = fetch('http://twitter.com/%s?format=json' % user)
   return sj_loads(page)['#timeline']

#print get_tweets('ilovetweeting')
raw_input(get_tweets('ilovetweeting'))

No comments: