2016-04-04 5 views
-1

Ich bekomme die Ausgabe als eine Liste von dict von einem DB-Aufruf und ich möchte die Ausgabe in eine Datei mit einigen Konfigurationen schreiben. BeispielWie schreibe ich Inhalt einer Liste von dict in eine Datei in Python

my_dict = [{'pattern': "abc", 'message': "This is not possible"}, 
      {'pattern': "def", 'message': "The parameter provided application is invalid"}, 
      {'pattern': "ijk",'message': "Expected value for debugging"} 
      ] 
# want to write the op like below into some file. 
# key's will be header also some case i need to ignore the headers. 
pattern|message # file header 
abc|This is not possible # file data 
def|The parameter provided application is invalid # file data 
ijk|Expected value for debugging # file data 

Antwort

2
with open('my.log', 'w') as log: 
    log.write('pattern|message\n') 
    for line in my_dict: 
     log.write('{pattern}|{message}\n'.format(**line)) 

My.Log

pattern|message 
abc|This is not possible 
def|The parameter provided application is invalid 
ijk|Expected value for debugging 
+0

Dank! Meine Header basieren auf der Ausgabe einer Tabelle und sind dynamisch. Wie man das macht? @xi – Pradeep

+0

Schreiben Sie statt einer literalen Zeichenfolge die Variable, die die Header enthält ... – kindall

Verwandte Themen