<div dir="ltr">Ciao a tutti, <div>vi scrivo per un consiglio concernente l'importazione di * da un modulo.</div><div><br></div><div>Il problema si pone per il fatto che il software sul quale lavoro e' esposto allo scripting da parte degli utenti e quindi non e' realmente controllabile con delle semplici regole di buon coding.</div><div><br></div><div>Senza andare troppo nei dettagli, ho un modulo con delle funzioni frontend (con print) e un modulo corrispondente con delle funzioni di backend (che ritornano dizionari, NamedTuple ...) queste funzioni hanno lo stesso nome e nel momento in cui l'utente fa: 'from backend import *' questo sovrascrive le funzioni frontend in maniera inaspettata (perlomeno per l'utente).</div><div>Questo e' anche dovuto al modo in cui vengono caricati gli script utente che pero' al momento non e' possibile cambiare: in pratica abbiamo un `load_script` che elabora il file ed esegue quanto contenuto, una pratica non proprio pythonica, ma va mantenuta.</div><div><br></div><div>Una delle possibili soluzioni e' chiaramente rinominare le funzioni backend, magari con un 'lib_funzione'.</div><div>Una alternativa sarebbe impedire l'import star, la domanda infatti verte su questo: e' possobile sollevare un'eccezione su questo tipo di import?</div><div>Grazie</div><div><br></div><div>Piergiorgio</div><div><br></div><div></div></div>