[Python-de] Globaler "prefix" o.ae.
Ole Streicher
ole-usenet-spam at gmx.net
Mo Sep 12 10:39:07 CEST 2011
Ingrid Streicher <ole-usenet-spam at gmx.net> writes:
> Ich habe ein zwei Pakete "common", "database", die u.a. aus den
> Modulen "BaseObject" und "DbObject" bestehen: [...] daraus will ich
> etwas (ohne Änderung der Quelltexte) machen, bei dem ich sagen kann
>
> from mypackage.database.DbObject import DbObject
>
> und zwar ohne die Orginaldateien (BaseObject.py, DbObject.py)
> anzufassen. Und ohne den Nutzer einer Standardinstallation von mypackage
> einen eigenen Classpath aufnötigen zu müssen.
Folgendes scheint zu funktionieren:
mypackage.__init__.py:
---------8<----------------------------
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
try:
import common
import database
finally:
sys.path.remove(os.path.dirname(__file__))
del os
del sys
---------8<----------------------------
Welcher Nebenwirkungen muss ich mir bei dieser Lösung gegenwärtig sein?
Viele Grüße
Ole
Mehr Informationen über die Mailingliste python-de