2016-10-12 4 views
2

Ich benutze Python 2.7 und ich möchte die Einrückung von JSON.dumps() zu TABS anstelle von SPACES ändern. Wenn Sie Einzug = 8, wird es 8 Leerzeichen einfügen, aber ich möchte 2 Registerkarten einfügen. Ich habe gelesen, dass dies in Python 3.3 möglich ist, indem ich indent = "\ t \ t" mache, aber wir benutzen Python 2.7.JSON Dumps Einzug Registerkarte

+0

Warum nicht einfach eine regex nach dem Dump ersetzen? –

Antwort

4

Nun mit re.sub() könnten Sie folgendermaßen vorgehen

dump = json.dumps(data, indent=4) 
tabs = re.sub('\n +', lambda match: '\n' + '\t' * (len(match.group().strip('\n'))/2), dump)