[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: