[Python-de] wildcard im pfadnamen
Achim Domma (Procoders)
domma at procoders.net
Mit Nov 10 14:14:53 CET 2004
Georg Mischler wrote:
> Über diese Empfehlung würde ich nochmal gründlich nachdenken.
Ok, habe ich gemacht! ;-)
> Eine eigene Funktion wird bei eventuell zukünftig auftauchenden
> Mehrdeutigkeiten genau so scheitern wie glob.glob(), baut aber im
> Gegensatz zu einem Standard-Modul zusätzliche Verständnis-Hürden
> auf.
Um darüber zu diskutiern müßte der OP uns genauer erklären wie dieses
Problem genau zu stande kommt. Mit einem glob Muster zeigst du nur
welche Struktur der Pfad haben muß, was ok ist, wenn die variablen
Zeichen wirklich so willkürlich sind. Wenn sie doch einer gewissen Regel
folgen, könntest du das in meiner Variante durch Code dokumentieren.
Zugegeben: Das triftet jetzt in Haarspalterei ab, so lange wir das
Problem nicht genau kennen.
> Ein vernünftig formuliertes glob-Muster (bei dem nur die beiden
> Zeichen als Wildcards drin stehen) dokumentiert den Sachverhalt
> sehr viel anschaulicher als eigene Code oder gar Kommentare es je
> tun könnten.
Siehe oben. Es gibt Situationen in denen ich dir hier absolut zustimmen
würde, aber ich kann mir auch Szenarien vorstellen wo's nicht so ist.
> Und noch ein Tipp für Johannes (falls du nicht selber schon
> darauf gekommen bist): glob.glob() liefert ja eine Liste von
> Dateipfaden zurück. Lass dein Programm einfach eine Warnung
> ausgeben, falls diese Liste jemals mehr als ein Element enthalten
> sollte.
Genau diese Warnung wollte ich mit meiner Funktion provozieren, wobei
deine Variante natürlich auch ok ist. Ich kann mir halt immer noch nicht
vorstellen, daß diese Wildcards wirklich absolut willkürlich gefüllt
werden dürfen. Und wenn's eine Regel gibt, könnte man mit meiner Lösung
'ne genauere Meldung 'rausgeben, was falsch ist. Aber da wären wir
wieder beim Haarespalten.
> Damit bleiben sowohl für die Benutzer wie auch für
> nachfolgende Generationen von Entwicklern keinerlei Fragen mehr
> offen.
Dem stimme nicht nicht so ganz zu. Der Entwickler weiß dann, daß das
File ein bestimmtes Muster erfüllen muß und daß es genau ein File sein
muß. Wie dieses Muster zu stande kommt weiß er aber nicht.
Ich bleib zum Abschluß aber mal dabei, daß man mehr über das konkrete
Problem wissen müßte.
Gruß,
Achim