#!/usr/bin/env python3 """ Parsing/managing a book wishlist. - parse list - store list - get extra info (isbn &c) - group by author - intelligent detection of author misspelling/title misspelling - online matches? goodreads? """ import sys from pprint import pprint from collections import defaultdict def read_booklist(file_name="booklist.txt"): booklist = [] try: with open(file_name, 'r') as file: for line in file: author, title = line.rstrip().split(' - ') booklist.append([author, title]) except OSError as exc: tb = sys.exc_info()[-1] lineno = tb.tb_lineno filename = tb.tb_frame.f_code.co_filename print(f'{exc.strerror} at {filename} line {lineno}.') sys.exit(exc.errno) return booklist def main(): """ main function, do stuff """ booklist = read_booklist("booklist.txt") pprint(booklist) newbooklist = defaultdict(list) for k, v in booklist: newbooklist[k].append(v) pprint(newbooklist) if __name__ == '__main__': main()