[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