Hallo
Ich hab gerade mal wieder einen Hänger und deshalb frage ich euch. In meinem PyScript werden durch Usereingaben jeweils in 2 Datein Username und ein Passwort gespeichert beide getrennt. Nun hat mein Menü einen Punkt der lautet "Auflistung aller Einträge"
Wie bekomme ich es nun hin das er mir alle durchnummeriert anzeigt? Also das Anzeigen ist ja kein problem mittels einer for schleife
Aber irgendwie haut es nich hin das er 1,2,3,4,5 ect. Zumal die Einträge ja Variable sind oder fortlaufend wie auch immer.
Hoffe ihr habt den richtigen Tipp für mich
Liebe Grüße
Automatische durchnummerierung von X Einträgen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Was meinst du mit Speicherplatz?
So ein Code ist gemeint:
Wenn du aber mehrere haben willst ist `itertools.count` evtl schoener:
So ein Code ist gemeint:
Code: Alles auswählen
for i, user in enumerate(users, 1):
...Code: Alles auswählen
for i, user, password in itertools.izip(itertools.count(1), users, passwords):
...Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Danke ja ich hatte ein Fehler in der Auführung, jetzt klappts wunderbar
Super
nur noch eine Frage dazu
Die Einträge in meiner Datei sind untereinander daher gibt er mir diese mit einem \n
hinten dran aus kann man das irgendwie entfernen? Sieht einfach nicht schön aus
Super
Die Einträge in meiner Datei sind untereinander daher gibt er mir diese mit einem \n
hinten dran aus kann man das irgendwie entfernen? Sieht einfach nicht schön aus
-
BlackJack
@NicNac: Klar kann man die entfernen. Das ist eine Grundoperation auf einem Grunddatentyp — sollte also in jedem anständigen Anfängertutorial vorkommen. 
Um Zeilenenden beim Lesen aus einer Datei loszuwerden, fallen mir zwei Möglichkeiten ein:
Wenn die Datei nicht allzu groß ist, dann würde ich dir zur Vorgehensweise in `getlines1()` raten. Dürfte insbesondere für einen Anfänger auch leichter zu verstehen sein als die zweite Variante. 
Code: Alles auswählen
import os
def getlines1(filename):
with open(filename) as outfile:
# liest Dateiinhalt komplett ein und splittet den String
return outfile.read().splitlines()
def getlines2(filename):
with open(filename) as outfile:
for line in outfile:
# speicherschonender, weil immer nur eine Zeile verarbeitet wird
yield line.rstrip(os.linesep)