Seite 1 von 1
Variablen aus Modul importieren
Verfasst: Sonntag 28. März 2010, 09:13
von Gabelmensch
Hallo,
ich moechte irgendwie Variablen an einer Stelle definieren, die ich in jedem Python programm nutzen kann. Am besten via Modul.
Beispiel:
Im Programm mache ich jetzt:
Und die Variablen sind ganz normal nutzbar. Ist sowas irgendwie moeglich?
Verfasst: Sonntag 28. März 2010, 09:16
von sma
Ja, das ist genau so möglich, wie du es beschreibst.
Stefan
Verfasst: Sonntag 28. März 2010, 09:44
von Gabelmensch
Hmm, nicht genau so. Aber so:
haupt.py:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from variab import *
print var1
print var2
variab.py:
Code: Alles auswählen
global var1
global var2
var1 = '/path1/file23'
var2 = 42
Vielen Dank.
Verfasst: Sonntag 28. März 2010, 09:46
von Pekh
Wozu 'global'? Das macht an der Stelle doch überhaupt keinen Sinn?
Verfasst: Sonntag 28. März 2010, 09:48
von Gabelmensch
Stimmt, ich war irgendwie bei Funktionen.
Verfasst: Sonntag 28. März 2010, 12:13
von Leonidas
Gabelmensch hat geschrieben:Stimmt, ich war irgendwie bei Funktionen.
Und selbst dort sollte man es nicht nutzen.
Verfasst: Sonntag 28. März 2010, 14:36
von Gabelmensch
Ich weiss.
Verfasst: Sonntag 28. März 2010, 16:47
von derdon
Verfasst: Sonntag 28. März 2010, 17:12
von Pekh
In diesem konkreten Fall kann das schon Sinn machen. Wenn man es generell nicht machen sollte, würde es diese Möglichkeit nicht geben.
Verfasst: Sonntag 28. März 2010, 17:29
von derdon
Ja, das habe ich auch nach Abschicken des Posts gemerkt. Andererseits kann es nicht schaden, Einsteigern darauf im Allgemeinen hinzuweisen.
Verfasst: Sonntag 28. März 2010, 20:08
von Gabelmensch
Ich weiss.

Verfasst: Sonntag 28. März 2010, 23:29
von Leonidas
Pekh hat geschrieben:Wenn man es generell nicht machen sollte, würde es diese Möglichkeit nicht geben.
Ich finde das eigentlich nur, wenn dann in der REPL sinnvoll und selbst da mache ich es eigentlich nie. Liegt vielleicht auch daran, dass bei mir IPython seit über 4 Monaten läuft und ich den Überblick verloren habe was ich wann importiert habe.
Verfasst: Sonntag 28. März 2010, 23:59
von jbs
In den Beispielen von Elixir wird mit * importiert und ich habe mich gefragt, ob das nicht schlechter Stil ist. Aber wenn man selber eine `model.py` schreibt, merkt man die Gründe dafür.
Wie handhabt ihr soetwas denn?
Verfasst: Montag 29. März 2010, 00:21
von DasIch
Mal abgesehen von sys, os und json fällt mir gerade nichts ein für dass ich kein from ... import ... nutze.
Verfasst: Montag 29. März 2010, 00:32
von Leonidas
jbs hat geschrieben:In den Beispielen von Elixir wird mit * importiert und ich habe mich gefragt, ob das nicht schlechter Stil ist. Aber wenn man selber eine `model.py` schreibt, merkt man die Gründe dafür.
Also in den ``models.py`` von Django habe ich keine Sternchen-Importe und es ist auch nicht übermäßig verbose. Vielleicht ist Elixir da geschwätziger, keine Ahnung.
Verfasst: Montag 29. März 2010, 17:38
von derdon
DasIch hat geschrieben:Mal abgesehen von sys, os und json fällt mir gerade nichts ein für dass ich kein from ... import ... nutze.
Du hast pickle vergessen

Oder du benutzt pickle so gut wie nie (was ich mal vermute).
Verfasst: Montag 29. März 2010, 17:52
von DasIch
derdon hat geschrieben:Du hast pickle vergessen

Oder du benutzt pickle so gut wie nie (was ich mal vermute).
Ich kann mich nicht erinnern es je genutzt zu haben.