Hallo,
es würde hier zwar sicher shcon was dazu geben, aber ich hab einfach nicht das richtige gefunden.
Und zwar ist mir noch nicht ganz klar wie man sowas in Python am besten löst:
Ich hatte in PHP zwei Sachen die ich auf die selbe Weise löste: in grösseren Projekten hatte ich eine Konfigurationsdatei wo die wichtigsten Variablen zum schnellen editieren drinnen standen und mehrere Dateien mit Funktionen/Klassen. Diese wurden in jede Seite dieses projekts mittels require(), oder include() eingebunden und damit wars getan.
Ich schätze mal dass in Python Dateien mit Funktionen etc. eher per import eingebunden werden, oder? Aber wie die Dateien mit den Variablen? Auch per import? Hat sicher den Vorteil dass ich mir damit sicher keine Variablen überschreibe (muss ja um auf die Variable zuzugreifen Dateiname.Variable schreiben soviel ich gelesen habe). Oder verwende ich hier dann eher execfile()? Oder liege ich ganz falsch?
Danke Danke
Stolzi
Dateien einbinden
Also würdest du _beides_ mit import machen, oder?
execfile() ist meiner Meinung nach ziemlich das was require() in PHP war... Es führt den Inhalt einer Datei als Code aus. Genauso wie exec() einen String als Code ausführt.
execfile() ist meiner Meinung nach ziemlich das was require() in PHP war... Es führt den Inhalt einer Datei als Code aus. Genauso wie exec() einen String als Code ausführt.
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Stolzi,
Zu den Variablen:
Ich würd mal sagen, da liegst Du ganz falsch
Versuch mal Deine Programme mit Python so zu machen, wie es "Pythonlike" ist. Also statt vieler Globaler Variablen, wie unter PHP üblich lieber mit Klassen Arbeiten. Wenn Du bestimmte Werte immer wieder brauchst, verwende ein Dicitonary, das du mit verschiedenen Methoden in eine Datei speichern oder auch aus einer solchen lesen kannst. Auch hier im Forum unter Codesnippets gibts ein paar Beispiele. Oder such mal im Forum nach "globals".
exec, eval und execfile würde ich auch aus sicherheitstechnischen Überlegungen möglichst vermeiden.
Gruß
Dookie
Zu den Variablen:
Ich würd mal sagen, da liegst Du ganz falsch
Versuch mal Deine Programme mit Python so zu machen, wie es "Pythonlike" ist. Also statt vieler Globaler Variablen, wie unter PHP üblich lieber mit Klassen Arbeiten. Wenn Du bestimmte Werte immer wieder brauchst, verwende ein Dicitonary, das du mit verschiedenen Methoden in eine Datei speichern oder auch aus einer solchen lesen kannst. Auch hier im Forum unter Codesnippets gibts ein paar Beispiele. Oder such mal im Forum nach "globals".
exec, eval und execfile würde ich auch aus sicherheitstechnischen Überlegungen möglichst vermeiden.
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
Ganz falsch? Auwaia
OK ein Dicitonary ist mir ein Begriff. Dürfte ziemlich das sein was in PHP ein Assizioatives Array ist.
Nur habe ich in den Codesnippets leider nix brauchbares gefunden Viell hab ich aber auch nur blöd geschaut.
Also wie ich in einem Dictionary meine Daten speichere ist mir soweit klar. Nur eben der Teil dann noch nicht wie ich es einbinde. Liege ich da viell richtig?:
Ich habe eine Datei sepp.py mit dem Dictionary abc{ "username":"stolzi" }. Nun möchte ich auf die Daten in sepp.py in einer anderen Datei zugreifen:
import sepp
DerUsername=sepp.abc["username"]
Ist das ungefähr so wie ichs machen sollte? Und dann halt auf die selbe Art mit den Funktionen...
OK ein Dicitonary ist mir ein Begriff. Dürfte ziemlich das sein was in PHP ein Assizioatives Array ist.
Nur habe ich in den Codesnippets leider nix brauchbares gefunden Viell hab ich aber auch nur blöd geschaut.
Also wie ich in einem Dictionary meine Daten speichere ist mir soweit klar. Nur eben der Teil dann noch nicht wie ich es einbinde. Liege ich da viell richtig?:
Ich habe eine Datei sepp.py mit dem Dictionary abc{ "username":"stolzi" }. Nun möchte ich auf die Daten in sepp.py in einer anderen Datei zugreifen:
import sepp
DerUsername=sepp.abc["username"]
Ist das ungefähr so wie ichs machen sollte? Und dann halt auf die selbe Art mit den Funktionen...
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Das währ eine der Möglichkeiten.
hier noch ein paar Links aus dem Forum:
http://python.sandtner.org/viewtopic.php?t=1871
http://python.sandtner.org/viewtopic.ph ... ght=global
Gruß
Dookie
hier noch ein paar Links aus dem Forum:
http://python.sandtner.org/viewtopic.php?t=1871
http://python.sandtner.org/viewtopic.ph ... ght=global
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]