Je vais légèrement simplifier le code dans l'espoir que quelqu'un puisse faire la lumière sur ce sujet et peut-être me donner une approche plus pythonique si ce que je fais est faux.Pourquoi cette variable est-elle maintenant multi-module globale en python?
intérieur dbcontrollers.py
import autosettings
import aerialcontroller
import controller
import gobject
import gtk
import utils
# Create the settings object so we can call and edit settings easily
SETTINGS = autosettings.autoSettings()
CONTROLLERS = {}
class dBControllers(object):
def __init__(self):
# This works happily so nothing wrong in autosettings module
print SETTING.last_port
port_to_use = SETTINGS.last_port
if __name__ == "__main__":
# Create an object that holds all the GTK stuff (when not simplified)
dBControllers = dBControllers()
aerialController = aerialcontroller.aerialController()
intérieur aerialcontroller.py
class aerialController(object):
def __init__(self):
self.motor_number = str(SETTINGS.aerial_motor_number)
CONTROLLERS[self.motor_number] = self
Mais quand je lance, je reçois "NameError: nom global 'Paramètres' est pas défini".
Je ne comprends pas vraiment comment cela est supposé fonctionner, en partageant des variables globales entre modules. Je suppose que ce n'est pas la bonne façon de faire des choses comme ça, alors quelqu'un peut me diriger dans la bonne direction.
Merci.
P.S. De simples exemples de code seraient bénéfiques - encore un nouveau venu relatif à python.
Inside "__init__. py "il y a une importation pour" aerialcontroller "... dans" aerialcontroller.py "il n'y a pas d'importations. Faut-il y en avoir un? Si oui, quoi? Comment importer "__init__.py" ?? – Schodemeiss
Consultez http://docs.python.org/tutorial/modules.html#packages pour plus d'informations sur les fichiers __init__ – Raz
J'ai renommé mon "__init__.py" en "dbcontrollers.py" pour peut-être simplifier le problème. Mais, jusqu'à présent, toujours pas de chance :( – Schodemeiss