Variablen aus einer anderern Datei auslesen

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
tobi17
User
Beiträge: 7
Registriert: Mittwoch 15. April 2009, 13:37

Mittwoch 15. April 2009, 13:45

Hallo zusammen,

ich habe noch keine Erfahrung mit Python und leider haben die anderen beiträge im forum noch nicht mein Problem gelöst..
Ich habe zwei Programme. das erste soll einfache berechnungen durchführen. für diese benötigt es variablen die in einer zweiten datei abgespeichert werden sollen.

Code: Alles auswählen

import sys
sys.path.append("/daten/Variablen.pvs")
jedoch kommt immer eine fehlermeldung, dass die variablen nicht definiert wären.. muss ich noch ein befehl schreiben der diese variablen.pvs ausliest?

viel dank schon mal im vorraus
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Mittwoch 15. April 2009, 14:11

Was für ein Format hat die Datei denn? Du willst sicherlich ein Dictionary oder eine Liste und nicht auf magischem Weg probieren Daten zu importieren. Alles nötige steht dazu auch im Python-Tutorial.

Andernfalls hat die Datei als Modul einen sehr seltsamen Namen. Hieße sie "variablen.py", dann benötigst du nur noch einen einfachen Import.
Das Leben ist wie ein Tennisball.
tobi17
User
Beiträge: 7
Registriert: Mittwoch 15. April 2009, 13:37

Mittwoch 15. April 2009, 14:17

ich benutze ein programm das als skript die python sprache benutzt.. diese hat die endung .pvs .. in der zweiten datei stehen einfach viele variablen mit werten untereinander
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Mittwoch 15. April 2009, 14:42

Code: Alles auswählen

>>> import imp
>>> module = imp.new_module("variables")
>>> exec open("test.moep") in module.__dict__
>>> module.spam()
spam
>>>
mit test.moep:

Code: Alles auswählen

def spam():
    print "spam"
Das ist aber wirklich die ganz unschöne Variante.
Das Leben ist wie ein Tennisball.
tobi17
User
Beiträge: 7
Registriert: Mittwoch 15. April 2009, 13:37

Mittwoch 15. April 2009, 14:49

also ich hab die andere datei jetzt als .py umgeschrieben
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mittwoch 15. April 2009, 15:02

tobi17 hat geschrieben:also ich hab die andere datei jetzt als .py umgeschrieben
Vielleicht zeigst Du uns einmal ...
- diese Datei (wenn diese länger ist: paste.pocoo.org)
- Deinen Code, den Du bisher benutzt hast
- die exakte Fehlermeldung

Das wäre sicherlich durchaus hilfreich ;-)
tobi17
User
Beiträge: 7
Registriert: Mittwoch 15. April 2009, 13:37

Mittwoch 15. April 2009, 15:12

aus datei 1:

Code: Alles auswählen

import sys
sys.path.append("/daten/Variablen.py")
in der datei 2 stehen unter anderem diese variablen die dann in der datei 1 aufgerufen werden sollen.

Code: Alles auswählen

s = 54				
r = 0.329			
d = 0.00			
l = 2.755			
das programm funktioniert auch solange ich die variablen in die datei 1 schreib. wenn ich diese jedoch über eine andere datei aufrufen möchte, sind alle variablen nicht definiert. -> er liest diese nicht ein
tobi17
User
Beiträge: 7
Registriert: Mittwoch 15. April 2009, 13:37

Donnerstag 16. April 2009, 09:15

ok hab den fehler gefunden.. war gar nicht so schwer ;) einfach das pvs format in py umgewandelt und statt append ein insert befehl gemacht

Code: Alles auswählen

import sys
sys.path.insert(0, "/daten")
from Variablen import *
danke nochmals für die tipps
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Donnerstag 16. April 2009, 09:39

tobi17 hat geschrieben:ok hab den fehler gefunden.. war gar nicht so schwer ;)
Nicht dass die Lösung schon in meinem ersten Beitrag stehen würde ;-)
Das Leben ist wie ein Tennisball.
Antworten