HSG |
|
Bei kleineren Projekten sind die beteiligten Klassen oft noch in einer einzigen Datei. Wobei auch hier bereits das Problem auftaucht, dass eine Änderung an einer Klasse Änderungen an mehreren Dateien nach sich ziehen kann. Besser ist es, auf gewisse Klassen von verschiedenen Projekten aus zugreifen zu können. Die entsprechenden Dateien könnte man dauerhaft verfügbar machen, indem man sie z.B. nach ../python25/lib/site-packages kopiert. Dort wiederum verliert man schnell den Überblick. Schön wäre es, wenn man den Pfad zu einer Datei, die importiert werden soll, angeben könnte. Das kann man mit einem Kniff (danke Rouven!) erreichen. Angenommen, ein Python-Programm in Ordner A möchte auf ein Modul in einem Nachbarordner B zugreifen. Dazu wird einfach temporär der in sys.path abgespeicherte Suchpfad erweitert. Im folgenden Beispiel benutzt a.py die Datei b.py.
a.py in A:
import sys print sys.path # DEBUG pfad = '..\\B' # hier kommt der fehlende absolute oder relative Pfad hin if not pfad in sys.path: sys.path.append(pfad) print(sys.path) # DEBUG import b print()'Hier ist a!') b.fb()
b.py in B:
def fb(): print('Hier ist b!')
Modul z.B. StrToHexBin.py nach ../python25/lib/site-packages kopieren