2017-11-23 2 views
1

Meine Datei liest die teamNames.txt Datei, die ist:Wie wird nur die Zeichenfolge in Listendaten ausgegeben?

Collingwood 

Essendon 

Hawthorn 

Richmond 

Code:

file2 = input("Enter the team-names file: ") ## E.g. teamNames.txt 

bob = open(file2) 
teamname = [] 

for line1 in bob: ##loop statement until no more line in file 
    teamname.append(line1) 

print(teamname) 

Die Ausgabe lautet:

['Collingwood\n', 'Essendon\n', 'Hawthorn\n', 'Richmond\n'] 

ich es so die Ausgabe machen wollen wird :

Collingwood, Essendon, Hawthorn, Richmond 
+0

Wenn Sie die '' line1' zu teamname' sind Anfügen nur 'strip' die' line1' vor, dass durch die Verwendung 'teamname.append (line1.strip())'. Drehe deine Liste innerhalb von print mit 'print (", ".join (teamname)) in einen String um.' –

Antwort

1

Eine Option ist die Verwendung der replace()-Funktion. Ich habe Ihren Code so geändert, dass er diese Funktion enthält.

file2= input("Enter the team-names file: ") ## E.g. teamNames.txt 

bob =open(file2) 
teamname = [] 

for line1 in bob: ##loop statement until no more line in file 
    teamname.append(line1.replace("\n","")) 

print(teamname) 

Würde geben Sie die Ausgabe:

['Collingwood', 'Essendon', 'Hawthorn', 'Richmond'] 

Sie könnten dann teamname ändern Ihr Wunsch-Ausgabe zu erhalten:

print(", ".join(teamname)) 
+0

vielen Dank !, habe ich nie die replace() -Funktion in Betracht gezogen –

1

Was

for line1 in bob: 
    teamname.append(line1.strip()) # .strip() removes the \n 

print (', '.join(teamname)) 

Die .join() führt die endgültige Formatierung durch.

+0

danke viel! Ich weiß, dass diese Frage sehr einfach war, und ich benutzte split aber tat es wie teamname = teamname.split(), das einen Fehler gab. –

-1

Die Join-Methode funktioniert gut, aber Sie können auch versuchen, eine for-Schleife zu verwenden.

for name in teamname: # takes each entry separately 
    print name 
Verwandte Themen