Zugriff vom Modul auf Hauptscript

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.
Antworten
internetfreak
User
Beiträge: 2
Registriert: Montag 24. November 2008, 17:57

Hallo,

ich habe vor kurzem angefangen mit Python zu programmieren und ich muss sagen, ich bin begeistert. Als Einstiegsprojekt will ich einen einfachen IRC-Bot schreiben. Klappt soweit auch recht gut.

Erstmal die Struktur zum Verständnis
ircBot.py -- Hauptscript
ircScript.py -- Nachrichten an den Bot bearbeiten
ircStd.py -- IRC-Aktionen (join, quit, ping)

In ircBot.py wird irc als Socketobjekt erzeugt, die gesendeten Daten abgefragt und je nach Inhalt anderen Methoden übergeben. Nun muss aber ircScript.py auf Variablen aus ircBot.py zugreifen, im Moment auf die Variablen ende(Hauptschleife abbrechen) und irc (Socketobjekt). Allerdings weiß ich nicht wirklich wie ich von einem Modul auf das Hauptscript zugreifen soll.
Per ircBot.irc hat es nicht geklappt, per form ircBot import irc, ende auch nicht.

Wie lässt sich das also realisieren?

Gruß

internetfreak
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

pack Dinge die zusammen gehören einfach zusammen. Wir sind hier nicht bei Java!

Dateien dürfen ruhig 1000 Zeilen haben.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Alternativ könnte ja auch stattdessen das Hauptscript auf das Modul zugreifen und dort ende und irc setzen.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Pack alles in ein Modul, sonst wird das extrem unübersichtlich auch wenn dass jetzt paradox klingt.
tordmor
User
Beiträge: 100
Registriert: Donnerstag 20. November 2008, 10:29
Wohnort: Stuttgart

Oder man übergibt die Funktionen als callback.

Ohne weitere Hinweise, warum das Modul auf das Hauptscript zugreifen soll, ist ein Rat hier eher schwierig.
internetfreak
User
Beiträge: 2
Registriert: Montag 24. November 2008, 17:57

Ich lass es einfach zusammen und wenn es vllt. doch nötig wird, kann ich das ja schnell auslagern.

Danke :D
Antworten