[Python-de] File aus Datadir kopieren

Dr. Volker Jaenisch volker.jaenisch at inqbus.de
Sa Sep 23 17:41:20 EDT 2017


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
=========================================================




Mehr Informationen über die Mailingliste python-de