Typische Namenskonventionen für Python-Verzeichnisse in Paketen

8

Die Frage
Ich würde gerne wissen, ob es eine Standardkonvention für die Benennung von Python-Verzeichnissen gibt, die als Modul importiert werden sollen. Das bedeutet, dass das Verzeichnis eine leere __init__.py

enthält

Hintergrund
Bis vor kurzem habe ich wenig darüber nachgedacht und nur nach dem benannt, was auf Dateisystemebene sinnvoll war. Was mich in Schwierigkeiten brachte war, dass das, was auf der Dateisystemebene sinnvoll war, auch für die eigenständigen Module anderer Entwickler sinnvoll war. Betrachten Sie das folgende Verzeichnis:

%Vor%

Während das prima funktionierte, als ich die Prologix-Treiber ausrief, stieß ich auf ein Problem, als ich versuchte, meine Visa-Treiber sowie das "Visum" -Modul von pyVisa zu importieren. Es war sehr einfach, das Problem zu diagnostizieren, aber das Problem, den Ordner meines Visa-Fahrers in 'visa_dir' umzubenennen, macht den Code schwieriger zu lesen (IMO).

%Vor%

vs

%Vor%

Gibt es einen besseren Weg, damit umzugehen?

    
Adam Lewis 10.05.2011, 19:35
quelle

1 Antwort

4

Der Namespace jedes Moduls ist eindeutig. Selbst wenn Sie zwei Module mit dem Namen visa haben, solange Sie vermeiden, sie in denselben Namespace mit demselben Namen zu importieren, haben Sie keine Probleme. Ich bevorzuge absolute Importe:

%Vor%

Oder Sie könnten auch as :

verwenden %Vor%

... usw. Seien Sie vorsichtig, wie Sie Dinge importieren. Ich würde es (als Endbenutzer) bevorzugen, wenn Sie Ihre Module logisch in Ihrem Paket strukturieren und sich nicht darum sorgen, sie für mich zu fällen.

    
zeekay 10.05.2011, 20:49
quelle