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

Re: [OT] Python oder Perl



On 03.Aug 2005 - 15:48:19, Eduard Bloch wrote:
> Andreas Pakulat schrieb am Dienstag, den 02. August 2005:
> 
> > On 02.Aug 2005 - 15:26:23, Eduard Bloch wrote:
> > > 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...
> > 
> > Aehm, die Liste ist unsortiert, sicher das du alle Elemente in der
> > Ausgabe ueberprueft hast? Hier jedenfalls gehts wunderbar.
> 
> Ich kann das grade nicht reproduzieren darum nehmen ich die Behauptung
> vorsichtshalber mal zurück. 

:-)

> Aber was mich bei der Python-Version immer noch abschreckt: man sieht
> nicht direkt, nach welchem Prinzip es die Spaces und Zeilenumbrüche
> verteilt. Hat man überhaupt Kontrolle drüber?  Oder macht die Sprache
> das nach Lust und Laune und für Leute mich gibt es dann
> Printe-So-Wie-Es-Da-Steht-Funktionen, die man erst noch kennenlernen
> muss?

Was genau meinst du? Hier siehts so aus:

andreas@morpheus:~/temp>python test.py
muttng-morpheus-1000-12793-16-25e45d324e6afb66 file
muttng-morpheus-1000-12793-17-431bd7b7519b500d file
v95492 file
.muttng-morpheus-1000-12793-17-431bd7b7519b500d.swp file
mynetenv file
.X11-unix file
.ICE-unix file
.X0-lock file
ssh-kpFiDu3983 file
ssh-LhYwbM3983 file
kde-andreas file
mcop-andreas file

Wobei genau 1 Leerzeichen zwischen dem Dateinamen und "file" bzw. "dir"
steht (hab grad keine dirs in /tmp). Und das liegt an dem "," hinter dem
"print filename". Siehts bei dir anders aus?

> > > Das ist die langatmige Variante. Die kürzere benutzt globbing:
> > 
> > Und verstaendliche Variante.
> 
> Weil?!

Weil man sie _schnell_ auch als Nicht-Perl-Experte verstehen kann. Ebend
weil es Variablennamen und Funktionen benutzt und nicht Konstrukte die
dies implizit tun (inkl. ?_ oder </tmp/*>).

> > > oder kompakter, jetzt aber mit versteckten Dateien:
> > > 
> > > print "$_ is a ".(-d $_ ? "directory\n" : "file\n") for(</tmp/*>,</tmp/.*>);
> > 
> > Das sind die Gruende warum ich Perl nicht mag. Ich bin auch schreibfaul,
> > aber die Zeilen versteht man ohne Nachdenken nicht mehr nach nem halben
> > Jahr nicht anschauen.
> 
> Dafür sind die Klammern da. Damit kann man den Quellcode strukturieren.

Klar, Klammern sind ja auch so leicht zu lesen, insbesondere welche
jetzt offen oder geschlossen sind. Ja man hat Syntaxhighlighting, aber
auch das erfordert mehr Aufwand als wenn man jeden Befehl auf ner
eigenen Zeile hat. Ausserdem arbeite ich wenig mit der Maus, da sind so
lange Zeilen immer ein ziemliches Uebel ;-) 

Andreas

-- 
Better hope the life-inspector doesn't come around while you have your
life in such a mess.



Reply to: