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.
Ich versuch euch mal meine Begriffstutzigkeit zu erklären. Ich importiere in der Pythondatei a die Pythondatei b. In der Datei b habe ich eine Funktion in der alle weiteren Funktionen via Dictonary hinterlegt sind. Dann führe ich Datei a aus. Das ganze funktioniert jedoch nur wenn ich in der Datei b einen import auf die eigene Datei einbinde. Wenn ich das nicht mach steigt er in der Datei a immer mit dem Hinweis aus, dass die Variable b nicht bekannt.
Und hier steige ich vom Verständinis gerade aus. Könnte mir das einer erklären.
Anbei Beispielcode
Ich habe kein Problem hier nachdem ich in test2() das Stringende gefixt habe.
Mit welcher Python-Version arbeitest du und wie lautet die Fehlermeldung genau? Prosatexte a la "Dann sagt er ..." sind bei der Fehlersuche nicht so hilfreich - mal abgesehen davon, dass ich mich immer frage, wer denn dieser ominöse "er" eigentlich ist.
Braindie hat geschrieben:
Ich verstehe halt nicht warum ich in der Datei b auch b importieren muss.
Stefan
Weil du in deinem Dictionary die Funktion test2 mit 'b.' referenzierst. Du willst sie also aus dem Namespace 'b' holen, der aber in Modul b gar nicht existiert - oder halt erst, wenn du b importierst und ihn damit erschaffst. Streiche das 'b.' im Dict, und du kannst auf 'import b' verzichten.
ich habe gedacht, dass ich die Funktion mit dem b so einbinden muss, aber jetzt wird es klar.
@SchneiderWeisse:
Ich habe mit wxpython eine Programm geschrieben, in dem ich auf eine HDF5-Datei zugreife. Dort kann ich mit den dahinterliegenden Daten Diagramme erstellen. Für das einbinden neuer Skripte,die für die Erstellung dieser Diagramme benötigt werden, verwende ich diese Methode. So brauche ich nur den neuen Quellcode in das Pythonfile zu schieben und oben in der in mein Dictonary einfügen. Wenn du jetzt das Programm startest, hast du automatisch das neue Diagramm zur Verfügung zu stehen und kannst damit das Diagramm erstellen.
Ich hoffe ich konnte deine neugier stillen.