pickling is more beneficial for custom classes. For a built-in class (dictionary, list, etc.) simply use eval (NOTE: this solution has been posted before on this forum, but I couldn't find it)
>>> d1 = {'a':2, 'b':3}
>>> d2 = eval(repr(d1))
>>> d2
{'a': 2, 'b': 3}
>>> d2['c']=1
>>> d1
{'a': 2, 'b': 3}
>>> d2
{'a': 2, 'c': 1, 'b': 3}
So for what you're looking for you'd write the repr() bit to a file, and then use eval after reading said file.
*I think the previous solution used execfile instead of bothering to open said file; however like I said I couldn't find it and don't remember exactly, but it answered exactly what you're asking.
Otherwise, use the forum search and look for "pickle" to find examples of dumping/loading pickled objects.