bitte nen tipp in die richtige richtung...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gnom
User
Beiträge: 5
Registriert: Freitag 5. Dezember 2008, 23:06

moin ihrs!

folgende frage, ich wollte gerne nen kleines programm schreiben, welches mir die daten eines verzeichnisses einzeln ausgibt bis zu einem gewissen punkt und dann wieder von vorne anfängt... und dabei ist bisher folgendes rausgekommen:

Code: Alles auswählen

import os, time

basePath = '/home/of_the_gnom/python-pics'

bildliste = []

pics = os.listdir(basePath)

bildliste.append(pics)
bildliste[0].sort()
i = 0
while i <= 10:
    bild = bildliste[0] [i]
    print bild
    time.sleep(1)
    i = i + 1
    if i >= 10:
	i == 0
soweit so gut, tut bisher genau das was ich von ihm erwarte...
bis auf die sache, dass das programm genau bis datei 11 geht und dann stoppt.
dat soll doch i wieder auf 0 setzen und von vorne anfangen,,, verdammich :P

tut mir bitte einen gefallen!

bitte keine direkte antwort ala:"dat geht so und so!"=>code geben!
ich will das ja irgendwie lernen und das kann ich am besten, wenn ich verstehe was ich da so anstelle!
also bitte nur richtungsweisende tipps :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo gnom, willkommen im Forum,

Der Tipp ist: ``==`` ist nicht das gleiche wie ``=``. Zweiter Tipp: Einrückung ist Python nicht egal.

Übrigens wäre es schön gewesen, wenn du einen etwas aussagekräftigeren Titel gewählt hättest.

Ich nehme mal an dass es in Zukunft irgendeinen Sinn haben wird, dass du da eine Liste in einer Liste hast...

Ok, genug der Tips 8)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das fängt nicht von vorne an, da der Code falsch ist ;) Python sollte auch eine Fehlermeldung ausspucken, da es schon an der Syntax mangelt ;)

Der Hinweis für dich ist: Vergleich != Zuweisung.

Allerdings gibt es da noch ein paar unschöne Sachen im Code, wenn du Meinungen dazu hören willst, gib Bescheid ;)
Und schau dir am besten mal PEP 8 an.

Edit: Zu langsam :/
gnom
User
Beiträge: 5
Registriert: Freitag 5. Dezember 2008, 23:06

hallo leonidas!

danke für das willkommen! :)

argh... das mit dem == hab ich glatt übersehen... ok, die endlosschleife hab ich schon mal. :)
Ich nehme mal an dass es in Zukunft irgendeinen Sinn haben wird, dass du da eine Liste in einer Liste hast...
*wichtig in die weltgeschichte schau* ja klar! *hüstel* naja... das ist jedenfalls das, was mir das os.listdir vor die füsse schmeisst... und ich mach erstmal das beste daraus :)

das einrücken übernimmt mein kwrite, hab den auf 4 leerzeichen eingestellt und beim automatischen einrücken ebenfalls auf 4 leerzeichen...
die letzte zeile ist beim copy&paste irgendwie falsch hier angekommen

Code: Alles auswählen

...
    if i >= 10:
        i = 0
so sieht es richtig aus bei mir, musste das hier per hand editieren damit es richtig angezeigt wird. (schon verbessert ;) )

ich schwimm halt noch ganz weit oben und kämpf mit den wellen...
tordmor
User
Beiträge: 100
Registriert: Donnerstag 20. November 2008, 10:29
Wohnort: Stuttgart

Ich seh hier eine umständlich nachprogrammierte for-schleife, die über die ersten 11 Elemente der Liste looped (und bei weniger als 11 Elementen in der Liste einen Fehler erzeugt). Die restlichen Elemente der Liste werden ignoriert.
Also warum schneidest Du nicht einen Slice aus der Liste und verwendest eine for-Schleife? Und das ganze kannst Du in ein while True: packen. Dann sieht man schon am Code viel mehr, was er tun soll.
gnom
User
Beiträge: 5
Registriert: Freitag 5. Dezember 2008, 23:06

weil ich ja irgendwo anfangen muss :)

für die zukunft wollte ich, das alle dateien des verzeichnisses ausgelesen werden und nur ein bestimmter dateityp benutzt wird. desweiteren wird alles dann geordnet und einzeln angezeigt.

bin leider nicht der typ, der einfach bücher verschlingen kann und alles wie in granit gemeißelt im kopf hat. ich brauch da was praktisches :)

so, ich werd nun erstmal meinen 2. kaffee einfahren und dann wieder auf den bildschirm starren :)

happy niko die laus :D *schokomann kopf abbeiß*
Antworten