Am 16.11.12 09:55, schrieb Thomas Guettler:
Hallo,
folgendes benutze ich oft in meinem Quelltext:
for file in os.listdir(...): ...
pylint meckert nun, dass "file" ein built-in ist und überschrieben wird.
W0622: Redefining built-in %r Used when a variable or function override a built-in.
Ich stehe nun vor der Frage: Ich ignoriere W0622, oder ich passe meinen Code an.
Wie macht ihr das?
Eine Lösung ist es einen Unterstrich anzuhängen, also so: for file_ in os.listdir(...): Ich würde hier aber lieber von einem Dateinamen sprechen: for file_name in os.listdir(...): `file` klingt eher wie ein Dateiobjekt (geöffnete Datei), für das ich dann wiederum gern `fobj` verwende. Beachte auch, dass in einem Verzeichnis auch Unterverzeichnisse liegen könnten, die man oft anders behandelt als Dateien. Für das rekursive Ablaufen von Verzeichnisstrukturen solltest du dir `os.walk` anschauen. Viele Grüße Mike
Gruß, Thomas
PS: Der Besuch der PyCon DE in Leizpig hat sich wirklich gelohnt. Dort habe ich den Tipp zu flymake-python erhalten. Mit flymake sieht man Fehler schon beim Tippen: https://github.com/akaihola/flymake-python