campos não-ascii na lista de todos os membros na equipe do launchpad usando o launchpadapi?

0

Eu escrevi este script python para listar todos os nomes de exibição de um membro da equipe no Launchpad:

from launchpadlib.launchpad import Launchpad
cachedir = "/home/username/.launchpadlib/cache/"
launchpad = Launchpad.login_anonymously('just testing', 'production', cachedir)
team = launchpad.people['']
len(team.members)
for person in team.members:
   print person.display_name

exit()

Mas quando executo o script em um arquivo de saída, ele falha ao encontrar um nome que não seja ascii:

    $ python get_list.py > /tmp/file
Traceback (most recent call last):
  File "get_list.py", line 7, in <module>
    print person.display_name
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 8: ordinal not in range(128)

Alguma idéia?

    
por 719016 31.01.2012 / 13:30

1 resposta

2

Use

  print person.display_name.encode('utf-8')

para informar ao Python qual codificação de caracteres deve ser usada para strings unicode.

    
por Florian Diesch 31.01.2012 / 13:47