Servus Sascha! Am 23.09.2017 um 22:40 schrieb Sascha Manns:
gerade schreibe ich ein Python3 Programm, welches durch Makefiles installiert wird. Somit können Applikationsdaten sowohl unter /usr/share, als auch unter /usr/local/share liegen.
Nun möchte ich ein File aus diesem Ordner an ein Ziel kopieren. Wie kann ich am Besten darauf zugreifen? Deployment von Anwendungen ist ein weites Feld mit vielen Löchern und Steinen, manchmal haben sich sogar Orcs in den Löchern verschanzt. :-)
Du könntest den makefile eine Config-Datei erzeugen lassen, der die relevanten (absoluten oder relativen) Pfade enthält, und der für Dein python Programm an einer definierten Stelle (relativer Pfad, oder gleiches Verzeichnis) liegt. Diesen liest Dein Programm ein und kennt so die Stellen wo die daten-files die Du kopieren willst liegen. Nimm als Konfig file am besten eine config.py in python syntax, die Du direkt in Deinem python Code per import einbindest. Dein python programm code: """ .... import config input_file = open( config.INPUT_FILEPATH ) .... """" Der config file: config.py: """ INPUT_FILEPATH="/home/sascha/data/mule1/target.txt" """ Wie der makefile aussehen muss um die config.py zu erzeugen, weist Du sicher besser als ich. Es gibt aber auch viele andere Möglichkeiten dieses Problem zu lösen, die Du sicher gleich von anderen hören wirst. Auch wirst Du hören, dass es gefährlich oder haram ist config-Files in python code zu schreiben. Wir machen dies mit unseren Kunden seit 15 Jahren so und sind sehr zufrieden damit. Beste Grüße Volker -- ========================================================= inqbus Scientific Computing Dr. Volker Jaenisch Richard-Strauss-Straße 1 +49(08861) 690 474 0 86956 Schongau-West http://www.inqbus.de =========================================================