Python Import Pfad zur Laufzeit erweitern
Letztlich habe ich nach einer Möglichkeit gesucht, den Import-Pfad innerhalb eines Python-Skripts zur Laufzeit des Skripts zu erweitern. Da Python ja direkt interpretiert wird und nicht vorher kompiliert werden muss, ist das auch möglich.
Ausgehend vom aktuellen Pfad erweitert folgendes Skript den Import-Pfad auf ein Unterverzeichnis “python”, in dem weitere Skripte liegen. Diese können dann im Anschluss ebenfalls importiert und verwendet werden.
# import system packages import os import sys # import local path exec_path=os.getcwd() # aktuelles arbeitsverzeichnis import_local_path=exec_path+'/python/' # unterverzeichnis, in dem weitere skripte liegen sys.path.append(import_local_path) # erweitere system-variable der import-pfade, # nach denen gesucht wird print 'import local path: '+import_local_path # # import script # hier jetzt skripte aus lokalen verzeichnis # einbinden (import)
Das Skript importiert also zunächst die beiden Module os und sys, die für die Pfad-Erweiterung benötigt werden. Anschließend wird damit das aktuelle Arbeitsverzeichnis gewonnen. Ausgehend davon wird der neue Pfad festgelegt. Somit sind relativ einfach relative Pfade möglich ohne das aktuelle Arbeitsverzeichnis hardcoden zu müssen. Natürlich wäre letzteres aber auch möglich.
Anschließend wird dann die System-Variable path um den neuen Pfad erweitert. Nun kann man auch alle Module aus diesem Pfad importieren.
Schlagwörter: Import, Pfad, Python, sys.path.append
Zuletzt aktualisiert am 10. Dezember 2011





Das war sehr informativ!! danke für diesen tollen Beitrag