Фильтр возвращаемых результатов напечатан в текстовом файле python

Используя этот код:

from pysnap import Snapchat
from pprint import pprint

s = Snapchat()

username = raw_input('Enter your username: ')
password = raw_input('Enter your password: ')
s.login(username, password)
friends = s.get_friends()

newfile = open("newfile.txt", "a")
pprint(friends, newfile)

Он печатает возврат / результаты get_friends(), что отлично, почти то, что я хочу.

Но.

Результаты таковы:

{u'can_see_custom_stories': True,
  u'direction': u'OUTGOING',
  u'display': u'',
  u'name': u'a7twini', #a7twini being the username here
  u'type': 0},

Единственное, что я хочу, чтобы это отображалось:

a7twini
<nextusername>
<nextusername>
etc..

Есть ли способ "отфильтровать" эти результаты? Убедиться, что только имя заканчивается в текстовом файле?

Я надеюсь, что кто-то может мне помочь, спасибо!

Изменить: кто-то попросил функцию get_friends()

def get_friends(self):
    """Get friends
    Returns a list of friends.
    """
    return self.get_updates().get('friends', [])

1 ответ

Решение

Вы можете просто распечатать name запись для каждого друга. Если предположить, friends это список:

for friend in friends:
    newfile.write(friend[u'name'] + "\n")

Или вы можете использовать понимание списка:

newfile.writelines([friend[u'name'] + "\n" for friend in friends])
Другие вопросы по тегам