Фильтр возвращаемых результатов напечатан в текстовом файле 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])