2016-07-28 10 views

Antwort

3

Verwenden rstrip('\n') oder nur rstrip():

passwords.append(add_items.rstrip('\n')) 
+2

Sie können auch einfach tun rstrip() ohne die "\ n" -Parameter - Wenn kein Argument angegeben ist, wird ein beliebiger Leerraum verwendet, wenn dies für den Asker funktioniert. – James

0

Above Antwort funktionieren würde. So würde dies, ohne direkt jede Zeile Strippen oder mit Liste Verständnis:

with open("C:\Users\Bucky\Desktop\pass.txt", "r") as fob: 
    passwords = fob.read().splitlines() 
2

Sie reinigen könnte durch die Verwendung strip ein bisschen besser und entfernen Sie alle umgebenden Leerraum nach oben. Auch könnten Sie die Dinge vereinfachen, indem ein Verständnis und einen Kontext-Manager:

with open("C:\Users\Bucky\Desktop\pass.txt") as f: 
    passwords = [data.strip() for data in f] 

In dieser Antwort, ein Kontext-Manager (die with Anweisung) gelernt werden kann über here. In diesem Abschnitt sollten weitere Details zu den Dateiobjekten und zur Verwendung eines Kontextmanagers erläutert werden.

+1

Der '.readlines()' Aufruf ist dort nicht nötig - '[data.strip() für Daten in f]' wäre ausreichend. – twalberg

+0

@twalberg Wirklich schätze die Bewertung. Danke, du hast absolut recht. Bearbeitet. – idjaw

1

Sie können eine Liste Verständnis towether mit replace verwenden alle Instanzen \n innerhalb der Zeichenfolge zu reinigen (das Passwort unter der Annahme, sollte keinen Wagenrücklauf enthalten):

>>> [pw.replace('\n', '') for pw in passwords] 
['Monster1', 'Monster2', 'Monster3'] 
Verwandte Themen