[Python-de] Variablen über verschiedene Dateien hinweg

Stefan Schwarzer s.schwarzer at ndh.net
Sun Feb 3 22:54:30 EST 2002


Hallo Felix,

Felix Seeger wrote:
> > Du hast also ein Modul player, darin eine Funktion device, die das DEVICE
> > liefert und willst den Wert in getalias verwenden?
> >
> > Dann sollte einfach
> >
> > device = player.device(INPUT)
> > player.getalias(device)
> >
> > gehen.
> Oh man, danke, das is es ;)

Schön, dass es so einfach war :-)

> > Falls DEVICE eine Konstante ist (wie die Schreibweise impliziert),
> > kannst du den Wert selbst beim Importieren des Moduls setzen und mit
> >
> > player.DEVICE
> >
> > darauf zugreifen. Der Aufruf player.device(INPUT) impliziert wiederum,
> > dass das Ergebnis von INPUT abhängt, also _keine_ Konstante ist? ...
> Ok, das verstehe ich nicht so ganz.

Lies mal http://python.sourceforge.net/peps/pep-0008.html und
http://python.sourceforge.net/peps/pep-0257.html :)  Da sich die meisten
Leute im wesentlichen daran halten (scheint mir zumindest so), kannst
du dann vielleicht meine Irritation verstehen. ;-)

> Ok, aber es ist kein Dateihandle (was auch immer das ist) es ist ne Variable.
> INPUT kommt aus einem Menü, also (1, 2...). Ist allerdings keine Zahl sondern
> ein String.
> DEVICE ist z.B. ttyS0 und später einem externem Programm übegeben.
> player.getalias(DEVICE) macht aus ttyS0 nur COM1 ;)

Also sowas wie

def device(choice):
    """Return a device name associated with this input."""
    devices = {'1': 'ttyS0', ...}
    return devices[choice]

def getalias(original_device_name):
    """Return a substitute device name for original_device_name."""
    translation = {'ttyS0': 'COM1', ...}
    return translation[original_device_name]

?

Viele Grüße
 Stefan



More information about the Python-de mailing list