bestimmte Variablen fuer mehrere Scripte zentral speichern?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Freitag 9. Mai 2008, 19:49

Hi!

Ich scripte hier im Haus hauptsaechlich verschiedenste Scripte, die uns unsere Dateien (das allermeiste sind Bildsequenzen) von einem Ort zum anderen schaufeln, nach nem Rendering automatisch Quicktimes davon erzeugen, usw. Dabei laufen auf verschiedenen Rechnern eben unterschiedliche Scripte als Cronjob, als Post-Render-Script einer Renderfarm, usw.

Die Scripte haben erstmal nicht viel miteinander gemeinsam. All diese Scripte greifen aber auf ganz bestimmte Server und Ordner zu bzw. hantieren mit Files mit speziellen Namen bzw. Endungen. Bisher hab ich diese Werte als Variablen am Anfang von jedem Script aufgelistet, um sie leicht editieren zu koennen. Dabei kommt es aber natuerlich zu etlichen Doppelungen zwischen den Scripten, da teilweise auf gleiche Ordner und Daten zugegriffen wird.

Wie handhabt man sowas denn am Besten in ner Firma, damit man eben bei Aenderungen nicht zig Scripte anpassen muss, sondern im Idealfall nur an einer Stelle die Anderungen vornimmt? Auf Algorithmusebene (oder wie man das nennen koennte) nimmt man dafuer ja innerhalb eines Scriptes Funktionen und zwischen Scripten ja die Modul-Funktionalitaet von Python, um den gleichen Code nicht mehrfach haben zu muessen. Aber wie geht sowas mit Variablen?

Wuerde man dafuer Umgebungsvariablen der jeweiligen Betriebssysteme nehmen, was aufgrund ziemlich gemischter Plattformen (Linux, Mac, Windows, IRIX, usw.) auch muehselig ist. Oder was gaebe es da noch fuer Moeglichkeiten? Kann man Variablen auch ueber "import" regeln?

Danke fuer alle Ideen und schoenes Pfingst-Wochenende,

Shakebox
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Freitag 9. Mai 2008, 20:18

Für diese Zwecke reicht doch ein Modul, das du in `site-packages` steckst, es ist dann aus jedem Skript importierbar. In dem Modul kannst du dann nach Herzenslust Funktionen, Klassen, "Variablen" definieren und zentral verwalten.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Freitag 9. Mai 2008, 22:09

danke, aber mit dem Begriff "site-packages" kann ich ehrlich gesagt grad kaum was anfangen. Ist damit was Ähnliches gemeint wie wenn ich mit der Umgebungsvariable PYTHONPATH nen Pfad angebe in dem dann bei "import" auch nach dem Modul gesucht wird? Das hab ich nämlich schon.

Du würdest also einfach ein Modul anlegen und da Variablen drin sammeln die dann überall gelten? Ok, war mir eben nicht mal sicher ob das sauber geht. Nur zum Verständnis: die würde man dann, wenn sie in nem Modul xy liegen nach nem normalen import einfach mit xy.variable1, xy.variable2, usw. ansprechen?

Danke schon mal für die Hilfe. Evtl. sieht man sich ja nächste Woche beim Münchener Stammtisch!? Ich möcht da mal reinschnuppern und mich umschauen.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Samstag 10. Mai 2008, 07:30

danke, aber mit dem Begriff "site-packages" kann ich ehrlich gesagt grad kaum was anfangen. Ist damit was Ähnliches gemeint wie wenn ich mit der Umgebungsvariable PYTHONPATH nen Pfad angebe in dem dann bei "import" auch nach dem Modul gesucht wird?
Die "site-packages" sind ein standardmäßig vorhandenes Verzeichnis in ``/usr/lib/python2.x/`` oder ``C:\Python2x\Lib``, in dem vom Admin/Benutzer installierte Pakete standardmäßig gesucht werden. Wenn dein Modul darin liegt, wird es also auch ohne Änderung des PYTHONPATH gefunden.
Nur zum Verständnis: die würde man dann, wenn sie in nem Modul xy liegen nach nem normalen import einfach mit xy.variable1, xy.variable2, usw. ansprechen?
Genau.
Danke schon mal für die Hilfe. Evtl. sieht man sich ja nächste Woche beim Münchener Stammtisch!? Ich möcht da mal reinschnuppern und mich umschauen.
Würde mich freuen!
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten