Salve, ho scritto un'applicazione in Python quasi interamente su Linux e c'è una parte di codice nella quale importo automaticamente dei moduli contenuti in una determinata directory. Su Linux funziona senza problemi. Oggi ho provato su Windows e mi è toccato cambiare i path, ovviamente. Per l'esattezza importo moduli da due directory e la cosa strana è che con una directory sembra funzionare, con l'altra no, nonostante la posizione sia la stessa. Riporto il codice in questione qui:
class Pannello(wx.Panel): def __init__(self, parent, id): wx.Panel.__init__(self, parent, id) sys.path.append("codifiche") sys.path.append("error_recovery") codes = glob(os.path.join(".\codifiche", "*.py")) codes = [os.path.splitext(os.path.basename(module))[0] for module in codes] modules = dict((code, __import__(code)) for code in codes) self.codeList = dict((module.info["name"], (module, module.info["name"])) for module in modules.values()) errors = glob(os.path.join(".\error_recovery", "*.py")) errors = [os.path.splitext(os.path.basename(module))[0] for module in errors] errorModules = dict((error, __import__(error)) for error in errors) self.errorList = dict((module.info["name"], (module, module.info["name"])) for module in errorModules.values()) <--------- L'errore lo dà nell'ultima riga, dove ho messo la freccia. Ho provato a inserire un paio di print e ho notato che self.codeList viene creato senza problemi. E' strano perché in entrambe le directory dalle quali cerco di importare i moduli (codifiche, error_recovery) ci sono dei file con una struttura praticamente identica. In entrambi c'è un dizionario "info", quindi non capisco perché nel primo casa lo trovi e nel secondo no. Sul disco la struttura delle directory è la seguente: E:\workspace\Python\sdi\proveinterfacciatemp.py <--- file del programma principale E:\workspace\Python\sdi\codifiche E:\workspace\Python\sdi\error_recovery Quindi credo di aver messo bene anche i path (altrimenti, del resto, non si spiegherebbe perché nel primo caso non dia errore). Qualche idea? Grazie. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python