2016-12-21 2 views
0

Item: '1;Paul;Crowe;28;male;2\n'Python Druck Element aus Wörterbuch gibt Neuzeilensymbol nur

Code:

f = open('data.txt', 'r+').readlines() 

l = len(f) 

data = {} 
friends = {} 

for i in range(0,l): 
    person = f[i].split(';') 
    friend = f[i][-1] 
    data.update({person[0]:person[1:]}) 
    friends.update({osoba[0]:friend}) 

print friends 

Und die Ausgabe von Druck:

{'11': '\n', '10': '\n', '13': '\n', '12': '\n', '15': '\n', '14': '\n', '17': '\n', '16': '\n', '19': '\n', '18': '\n', '20': '\n', '1': '\n', '3': '\n', '2': '\n', '5': '\n', '4': '\n', '7': '\n', '6': '\n', '9': '\n', '8': '\n'} 

Ich verstehe nicht, warum es nicht geben Sie stattdessen die Zeichenfolge '2 \ n' zurück. Was scheint das Problem zu sein?

Antwort

2

Es gibt '\n' zurück, weil Sie in der Zeile friend = f[i][-1] das letzte Zeichen der i-ten Zeile in der Datei abrufen. Das letzte Zeichen ist '\n'. Ich denke, was Sie tun möchten, ist:

friend = f[i].split(';')[-1] # This will return 2\n 
+0

Wow, das war so offensichtlich, und ich habe nicht einmal daran gedacht. Vielen Dank, mein Herr! –

Verwandte Themen