12 Stimmen

PEP 302 Beispiel: Neue Import-Hooks

Wo kann ich eine Beispielimplementierung der "New Import Hooks" finden, die in PEP 302 beschrieben sind?

Ich möchte einen benutzerdefinierten Finder und Loader auf möglichst zukunftssichere Weise implementieren. Mit anderen Worten sollte die Implementierung in Python 2.x und 3.x funktionieren.

3voto

Alex Martelli Punkte 805329

Sie können Tausende von Open-Source-Beispielen z.B. mit einem Google-Code-Suche finden, hier ist es:

http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search

Bearbeitung: wie der Fragesteller klargestellt hat, sucht er nach Beispielen für die Implementierung, nicht die Verwendung, hier ist eine bessere URL für die Suche:

http://www.google.com/codesearch?hl=en&sa=N&q="path_hooks"++lang:python&ct=rr&cs_r=lang:python

Ein lesbares Beispiel (obwohl NICHT für den Produktiveinsatz geeignet, wie die Reddit-Diskussion zeigt!) ist urlimport.

Was die Unterstützung von Python 2 und Python 3 zur gleichen Zeit betrifft, klingt das ehrgeizig - ich kenne kein vorhandenes Import-Hook, das dies behauptet. In Ihrer Situation würde ich damit beginnen, vollständige Unterstützung für Python 2.6 anzubieten. Wenn das funktioniert (und eine gute Batterie von Tests bietet und mit dem -3-Schalter keinen Pieps von sich gibt), würde ich die Quellen mit 2to3 umwandeln und sehen, ob etwas bricht (wenn ja, herausfinden warum, die 2.6-Quellen reparieren, iterieren).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X