try:
import cPickle as pickle
except:
import pickle
# nested DICTIONARY
data = { 'one': {'label': 'This is shot 001', 'start': 1, 'end': 10},
'two': {'label': 'This is shot 002', 'start': 11, 'end': 25},
'three': {'label': 'This is shot 003 - Needs Editing', 'start': 26, 'end': 50} }
# write to file with cPickle/pickle (as binary)
def ld_writeDicts(filePath,dict):
f=open(filePath,'w')
newData = pickle.dumps(dict, 1)
f.write(newData)
f.close()
ld_writeDicts('C:/Users/Lee/Desktop/test2.dta',data)
#############
# read file decoding with cPickle/pickle (as binary)
def ld_readDicts(filePath):
f=open(filePath,'r')
data = pickle.load(f)
f.close()
return data
# return dict data to new dict
newDataDict = ld_readDicts('C:/Users/Lee/Desktop/test2.dta')
# test nesting
print newDataDict['one']['label']
As you can see its very simple to use and very quick. There are loads of alternatives if you wanted a nicely arranged, readable file, including json:
import json
# nested DICTIONARY
data = { 'one': {'label': 'This is shot 001', 'start': 1, 'end': 10},
'two': {'label': 'This is shot 002', 'start': 11, 'end': 25},
'three': {'label': 'This is shot 003 - Needs Editing', 'start': 26, 'end': 50} }
# write to file with json encoding
def ld_writeDicts(filePath,dict):
f=open(filePath,'w')
newData = json.dumps(dict, sort_keys=True, indent=4)
f.write(newData)
f.close()
ld_writeDicts('C:/Users/Lee/Desktop/test',data)
# read file decoding with json
def ld_readDicts(filePath):
f=open(filePath,'r')
data = json.loads(f.read())
f.close()
return data
# return dict data to new dict
newDataDict = ld_readDicts('C:/Users/Lee/Desktop/test.dta')
# test nesting
print newDataDict['one']['label']
However im all for cPickle.