Python pprint嵌套字典-与输入相同

Python pprint嵌套字典-与输入相同,python,file,dictionary,save,Python,File,Dictionary,Save,我试图让python读取字典,然后以某种方式修改它(添加/删除内容),然后将其保存到另一个文件中 我正在使用的词典是 kundenDict = { 'Kunde1': { 'Datum11':{'ArtikelNo111':['Bezeichnung111', 'Farbe111', 'Kollektion111'], 'ArtikelNo112':['Bezeichnung112', 'Farbe112', 'Kollektion112']}, '

我试图让python读取字典,然后以某种方式修改它(添加/删除内容),然后将其保存到另一个文件中

我正在使用的词典是

kundenDict = {
'Kunde1': {
    'Datum11':{'ArtikelNo111':['Bezeichnung111', 'Farbe111', 'Kollektion111'],
               'ArtikelNo112':['Bezeichnung112', 'Farbe112', 'Kollektion112']},
    'Datum12':{'ArtikelNo121':['Bezeichnung121', 'Farbe121', 'Kollektion121'],
               'ArtikelNo122':['Bezeichnung122', 'Farbe122', 'Kollektion122']},
    },

'Kunde2': {
    'Datum21':{'ArtikelNo211':['Bezeichnung211', 'Farbe211', 'Kollektion211'],
               'ArtikelNo212':['Bezeichnung212', 'Farbe212', 'Kollektion212']},
    'Datum22':{'ArtikelNo221':['Bezeichnung221', 'Farbe221', 'Kollektion221'],
               'ArtikelNo222':['Bezeichnung222', 'Farbe222', 'Kollektion222']},
    },
'Kunde3': {
    'Datum31':{'ArtikelNo311':['Bezeichnung311', 'Farbe311', 'Kollektion311'],
               'ArtikelNo312':['Bezeichnung312', 'Farbe312', 'Kollektion312']},
    'Datum32':{'ArtikelNo321':['Bezeichnung321', 'Farbe321', 'Kollektion321'],
               'ArtikelNo322':['Bezeichnung322', 'Farbe322', 'Kollektion322']},
    },
}
我开始使用:

def pretty(d, indent=0):
   for key, value in d.iteritems():
      print '\t' * indent + str(key) + ": {"
      if isinstance(value, dict):
         pretty(value, indent+1)
      else:
         print '\t' * (indent+1) + str(value)
在我意识到这不会给我相同的输出之前


任何帮助都将不胜感激。

我能够使用以下代码使其工作:

from pprint import pprint

masterDict = {Some nested dictionary}
f=open('masterDict.py','w')
f.write( 'masterDict = {\n')

def pretty(masterDict, indent=1):
    for key, value in masterDict.iteritems():
        f.write('   ' * indent + "'" + str(key) + "'" + ': {\n')
        if isinstance(value, dict):
            pretty(value, indent+1)
        else:
            f.write('    ' * (indent+1) + str(value) + '}\n')
    f.write('    ' * (indent+2) + '}\n')

pretty(masterDict)
f.close()

你看过内置的
pprint
模块了吗?为什么需要相同的输出?就像我说的,我会修改字典。同样的输出,我指的是同样的格式。对不起,我应该说得更清楚些。-------是的,我已经看了pprint模块。但我如何才能打印到文件?我错过什么了吗?对不起,我对python也是相当陌生的。ThanksI发现,使用:
import-pprint-logfile=open('C:\\Users\\tkruttsc\\Desktop\\dd'+'.txt','w')pprint.pprint(kundenddict,logfile)
似乎在某种程度上可以工作,尽管我只剩下十岁的时候,dict的内容是一个dict,而不是一个包含dict的文件