Im Main file (unten) möchte ich zuerst auf diesen Code zugreifen durch
import LCD_Config, um dann auf dessen Funktionen zuzugreifen. Allerdings
findet er die Funktionen nicht. (Im Anhang die Fehlermeldung)
Kevin B. schrieb:> & wie kann ich dann von einem anderen Skript darauf zugreiffen?
Entweder indem du die Klasse aus dem Modul importierst, so wie von den
anderen Forenten beschrieben, oder indem du über den Modulnamen gehst,
also als LCD_Config.LCD_0inch96 notierst. Das ist alles im Detail unter
https://docs.python.org/3/reference/executionmodel.html#naming-and-binding
beschrieben.
Hättest du aber nach meiner obigen Hilfe auch selbst rausfinden können
...
LG, Sebastian
Kevin B. schrieb:> ich habe folgendes Problem: im einen File (LCD_Config)
Die Datei heißt hoffentlich nicht "LCD_Config", sondern "LCD_Config.py",
oder? ;-)
>
1
> import LCD_Config
2
>
3
> lcd = LCD_0inch96()
4
>
Dieser Code importiert das Modul LCD_Config, aber dessen Elemente lassen
sich nur über den importierten Modulnamen ansprechen, also so:
1
import LCD_Config
2
3
lcd = LCD_Config.LCD_0inch96()
Die andere Alternative ist, bestimmte Namen (wie hier "LCD_0inch96") aus
Deinem Modul "LCD_Config" zu importieren, dann kannst Du die
importierten Namen direkt (also ohne Modulnamen) benutzen:
1
from LCD_Config import LCD_0inch96
2
3
lcd = LCD_0inch96()
Eine dritte und unter Umständen elegantere Möglichkeit wäre, die
importierten Namen mit einem Aliasnamen zu versehen und dann das Alias
zu benutzen:
Sauron schrieb:> from LCD_config import *
Diese Methode funktioniert zwar, aber fortgeschrittene Entwickler machen
so etwas lieber nicht. Einerseits verstößt sie gegen PEP 20, also das
"Zen of Python" [1], andererseits kann dann am Ende niemand mehr ohne
größere Klimmzüge nachvollziehen, woher die verwendeten Symbole jeweils
kommen.
[1] https://peps.python.org/pep-0020/