Re: [OT] Python oder Perl
Hallo Harald Weidner!
Harald Weidner schrieb am Tuesday, den 02. August 2005:
> [Python]
> >>import os
> >>list = os.listdir('/tmp')
> >>for filename in list:
> >> print filename,
> >> if os.path.isdir(filename):
> >> print "is a directory"
> >> else:
> >> print "is a regular file"
Das ist bei (Python 2.3) ziemlich kaputt. Manche Dateien mit . am Anfang
werden angezeigt, manche nicht. Klingt nicht grade vertrauenswürdig...
> Und hier der Vollständigkeit halber das gleiche in Perl.
>
> opendir(LIST, "/tmp");
> while(defined($filename = readdir LIST)) {
> print $filename;
> if(-d "/tmp/$filename") {
> print " is a directory.\n";
> } else {
> print " is a regular file.\n";
> }
> }
> closedir(LIST);
Das ist die langatmige Variante. Die kürzere benutzt globbing:
for(</tmp/*>) {
print "$_ is a ".( (-d $_) ? "directory\n" : "file\n");
}
oder kompakter, jetzt aber mit versteckten Dateien:
print "$_ is a ".(-d $_ ? "directory\n" : "file\n") for(</tmp/*>,</tmp/.*>);
Und man muss sich dabei nicht den Kopf über die Anzahl der Spaces
zerbrechen, damit der Interpreter das auch ganz genau so sieht.
Gruss,
Eduard.
Reply to: