Seite 1 von 1

Glob. Variable oder Funkt. von einem ander file.py benutzen

Verfasst: Donnerstag 5. Mai 2011, 07:47
von Campionissimo
Hallo Zusammen,

ich bin leider, wahrscheinlich, an einer Kleinigkeit gescheitert;(
Ich möchte von einem file.py mit init.py eine hex Variable an einen anderen file.py übergeben und benutzen.

Gibt da was ?
Hab schon was gefunden wegen den Modulen, aber immer sehr mager ausgeführt.
Vielen Dank

Gruß

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 07:50
von cofi
Nein, das kannst du nicht. Aber du kannst den Wert an Funktionen/... uebergeben.

Noch besser, wenn es sich um statische Konfiguration handelt, kannst du die Variable in ein drittes Modul packen und von beiden anderen Dateien importieren.

Aber es fehlen Details zu deinem Problem, was ist die Variable, wo kommt sie her, wie wird sie benutzt...

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 08:01
von Campionissimo
file1.py
Also mein Wert in einer def funktion
z.B.
def var()
global x
x = 0x4D5

file2.py
Diese Variable soll dann von einer anderen Funktion übernommen werden:
num=asdsad.asdsad.var()
Hallo.Benutzen(Daten, "ansteuern", "funk", "einmal", num, True)

so ungefähr Namen usw. stimmten nicht geht mir nur um "num" und die Übergabe

Danke

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 08:32
von /me
global ist böse. Versuche, es nicht zu verwenden.

Was mir noch nicht wirklich klar geworden ist, ist allerdings dein Programmaufbau. Sind file1.py und file2.py Bestandteile eines einzigen Programms? Sollen das getrennte Programme sein? Kann es ein, dass du einfach das return-Statement suchst?

Ich habe den Eindruck, als fehlten dir bei Python noch Grundlagen wie du sie im Tutorial findest.

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 08:35
von Campionissimo
Hallo,

naja das Tutorial ist ja eigentlich ziemlich einfach gemacht (von den Funktionen her)
Es sind zwei Programme. Deswegen file1.py und file2.py
Ich möchte einen festen Wert an das zweite Programm übergeben.

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 08:56
von /me
Campionissimo hat geschrieben:naja das Tutorial ist ja eigentlich ziemlich einfach gemacht (von den Funktionen her)
Das führt dann dazu, das man schon mal elementare Dinge (weit vorne) überliest. Schau dir mal Argument passing an.

Code: Alles auswählen

import sys
print sys.argv
Damit solltest du dann einen Parameter im zweiten Programm problemlos entgegennehmen können. Die Übergabe aus dem ersten Programm regelst du natürlich direkt beim Aufruf des zweiten Programms (ich nehme an, du verwendest subprocess).

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 12:46
von Campionissimo
So ne kleine Hilfestellung wäre super.
Hat da vielleicht wer ein Beispiel ?

Danke

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Donnerstag 5. Mai 2011, 17:26
von Leonidas
Ohne Kommandozeilen-Parsing jetzt:

Code: Alles auswählen

filename = sys.argv[1]

Re: Glob. Variable oder Funkt. von einem ander file.py benut

Verfasst: Freitag 6. Mai 2011, 00:28
von derdon
Und nicht vergessen, einen möglichen IndexError bei nicht übergebenem Dateipfad abzufangen. Außerdem könnte die Datei auch gar nicht existieren.