2010-06-29 10 views

Antwort

30

Lesen Sie die documentation:

with open('names.txt', 'r') as f: 
    myNames = f.readlines() 

Die anderen bereits Antworten zur Verfügung gestellt, wie der Zeilenende-Marke loszuwerden.

aktualisieren:

Fred Larson bietet eine schöne Lösung in seinem Kommentar:

with open('names.txt', 'r') as f: 
    myNames = [line.strip() for line in f] 
+1

Änderung 'open (Datei, 'r')' auf 'open (‘ names.txt ',' r ') '. 'Datei' ist ein eingebauter Typ, der auch nicht als Variablenname verwendet werden soll ... Ansonsten gute Lösung. – tux21b

+0

@ tux21b: Du hast Recht, danke. –

+3

Wenn wir den 'strip' in diese Lösung integrieren wollten, würde ich wahrscheinlich so vorgehen:' myNames = [line.strip() für line in f] '. –

5
f = open('file.txt','r') 

for line in f: 
    myNames.append(line.strip()) # We don't want newlines in our list, do we? 
0
Names = [] 
for line in open('names.txt','r').readlines(): 
    Names.append(line.strip()) 

Streifen() Schnittflächen in vor und nach der Zeichenfolge ...

+1

Sie wiederholen zweimal den Dateiinhalt ... –

3
names=[line.strip() for line in open('names.txt')] 
0
#function call 
read_names(names.txt) 
#function def 
def read_names(filename): 
with open(filename, 'r') as fileopen: 
    name_list = [line.strip() for line in fileopen] 
    print (name_list) 
0

ein gutes Beispiel für die Karte und Lambda seiner

with open ('names.txt','r') as f : 
    Names = map (lambda x : x.strip(),f_in.readlines()) 

ich korrigiert stehen (oder zumindest verbessert) Dies sollte. Listenkomprehensionen ist noch elegante

with open ('names.txt','r') as f : 
    Names = [name.rstrip() for name in f] 
0

Die pythonic Möglichkeit, eine Datei und setzt alle Zeilen in einer Liste zu lesen:

from __future__ import with_statement #for python 2.5 
Names = [] 
with open('C:/path/txtfile.txt', 'r') as f: 
    lines = f.readlines() 
    Names.append(lines.strip()) 
Verwandte Themen