Καλησπέρα, χωρίς να θέλω να μειώσω την προσπάθεια σου, νομίζω ότι υπάρχουν διάφορα πράγματα που θα μπορούσες να βελτιώσεις
Ουσιαστικά, αυτό που έχεις κάνει είναι ένας wrapper γύρω από το pickle. Αυτό από μόνο του είναι κάτι τόσο απλό που δεν νομίζω ότι κάποιος θα χρησιμοποιήσει κώδικα άλλου και δεν θα το υλοποιήσει από μόνος του. Νομίζω ότι θα πρέπει να προσθέσεις και άλλα πράγματα προκειμένου να το κάνεις πιο χρήσιμο για κάποιον 3ο.
Παρόμοιο στόχο με αυτό που κάνεις έχουν το pickle (το οποίο και χρησιμοποιείς), το json και το ConfigParser της standard library. Για απλές τιμές (string, integers, doubles) το ConfigParser είναι το καλύτερο από αυτά. Αν θες να αποθηκεύσεις όμως σύνθετα objects (serialization ονομάζεται αυτό) τότε θες pickle ή json.
Σε 3rd party libraries υπάρχουν επίσης το yaml και πιθανά και άλλα. Τσέκαρε τα links για να δεις τι κάνουν και αν σε ενδιαφέρει τσέκαρε και τον κώδικα τους για να δεις και πως το κάνουν.
Από εκεί και πέρα:
* Χρησιμοποιείς το pickle. Γνωρίζεις ότι το pickle δυνητικά είναι μη ασφαλές; Γνωρίζεις σε ποιες περιπτώσεις δεν ενδείκνυται η χρήση του;
* Χρησιμοποιείς μία list (η οποία είναι mutable type) σαν default argument σε συνάρτηση. Ψάξε να δεις γιατί αυτό μπορεί να οδηγήσει σε προβλήματα. Στη δική σου περίπτωση μάλλον δεν έχεις θέμα αλλά είναι κάτι που πρέπει να το θυμάσαι
* Γιατί δεν χρησιμοποιείς with για το άνοιγμα των αρχείων;
* Τι θα γίνει αν χρησιμοποιήσω πολλά αρχεία; Ποιος θα τα σβήσει μετά; Τσέκαρε το tempfile
docs.python.org/2/library/json.html
docs.python.org/2/library/configparser.html
pyyaml.org/
docs.python.org/2/library/tempfile.html