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?