def load_all(filenames): import argopen for filename in filenames: with argopen.open(filename) as input: for card in load(input): card.filename = filename yield card
def save_all(cards): import argopen outputs = {} try: for card in cards: if card.filename not in outputs: outputs[card.filename] = argopen.open(card.filename, 'w') save(outputs[card.filename], [card]) finally: for output in outputs.values(): output.close()