from __future__ import with_statement from lastfm import get_friends, init import sys import time def process(filename): i = 0 with open(filename) as ih: to_do = set(line.strip() for line in ih) done = set([]) try: with open(filename + ".out") as ih: done = set(line.strip().split("\t")[0] for line in ih) except IOError: pass with open(filename + ".out", "a") as oh: for user in to_do - done: i += 1 friends = get_friends(user) friends = [friend["name"] for friend in friends] if friends: oh.write(user.decode("utf8").encode("utf8") + "\t" + u"\t".join(friends).encode("utf8") + "\n") time.sleep(0.1) if __name__ == "__main__": init(sys.argv[1]) process(sys.argv[2])