Seite 1 von 1

problem

Verfasst: Donnerstag 1. Mai 2014, 09:32
von lapac
Guten Tag Ich wollte alle Dateien im aktuellen Verzechnis auflisten. Dies habe ich auch getan. Ich wollte nun aber Falls keine Dateien vorhanden sind Eine Textausgabe ausführen. Diese wird aber nicht gezeigt. wo ist der Fehler? wäre nett wenn mir jmd helfen könnte. hier mal das Prog:

Code: Alles auswählen

import os 
verzeichnis = os.listdir(os.getcwd())

for file in verzeichnis:
   if file is None:  
   print("Keine Dateien vorhanden!")
        if len(file) > 2 and len(file) < 6:  
        print(file)
Vielen Dank schonmal im vorraus.
MfG

Re: problem

Verfasst: Donnerstag 1. Mai 2014, 09:50
von darktrym
Die Variable verzeichnis liefert eine leere Liste zurück, falls keine Dateien/Verzeíchnisse vorhanden sind.
Ich nehme mal an, dein Code ist im Original syntaktisch korrekt, len(file) gibt dir die Länge des Namens zurück, was du sicher weißt, aber Bereichabfragen sehen leserbarer aus, wenn man sie auch so formuliert 2 < len(file) < 6.

Re: problem

Verfasst: Donnerstag 1. Mai 2014, 10:04
von lapac
erstmal danke für die Formatierung.:)
Das Problem ist ja das er mir nichts sagt falls keine Dateien mit der Bedingung vorhanden sind.
Das Programm hört dann halt einfach auf.
Ich würde gerne das er mir das dann sagt und aufhört.

Re: problem

Verfasst: Donnerstag 1. Mai 2014, 10:16
von Hyperion
lapac hat geschrieben: Ich würde gerne das er mir das dann sagt und aufhört.
Die Synatx stimmt übrigens nicht, wie man oben sieht. Ich habe Deinen Code lediglich mit den entsprechenden Code-Tags umhüllt. (Bitte benutze diese in Zukunft, wenn Du Code postest - sonst geht, wie gesehen, die EInrückung verloren!)

Wenn Du eine Rückmeldung auf das Scheitern der Bedingung haben willst, dann musst Du diese einfach implementieren! Du brauchst einfach einen ``else``-Zweig ;-)

Re: problem

Verfasst: Donnerstag 1. Mai 2014, 10:23
von georgebaker
Wie darktrym bereits meinte, ist die Variable verzeichnis eine Liste und eine leere Liste wird als False bezeichnet.

Laut PEP 8 -- Style Guide for Python Code kann man es einfach so überprüfen:

Code: Alles auswählen

Yes: if not seq:
     if seq:

No: if len(seq)
    if not len(seq)

Re: problem

Verfasst: Donnerstag 1. Mai 2014, 12:46
von /me
lapac hat geschrieben:Das Problem ist ja das er mir nichts sagt falls keine Dateien mit der Bedingung vorhanden sind.
Du prüfst das ja auch nirgendwo. Oder welche deiner Codezeilen hältst du für die Prüfung?