[Python] Lista delle funzioni presenti in un modulo
Daniele Zambelli
daniele.zambelli a gmail.com
Gio 28 Mar 2013 13:52:21 CET
Salve.
Vorrei in un mio programma ottenere la lista di tutte le funzioni presenti
nei file contenuti in una directory.
Ho un programma principale: main.py e una dir che contiene dei file:
mod0.py, ...
Il programma principale deve caricare tutte le funzioni presenti in questi
moduli, ma io vorrei anche avere una lista che le contiene.
Sono riuscito ad avere la lista con i loro nomi, ma mi serve la lista con
le funzioni.
Di seguito riporto il programma:
-----8<------------main.py
"""Dovrebbe produrre una lista con tutte le funzioni presenti
nei files della directory modules."""
import os
import sys
DIREXE = 'modules'
def loadexe():
"""Load all math esercises."""
modpath = os.path.join(os.curdir, DIREXE)
print(modpath)
nfiles = [n_f[:-3] for n_f in os.listdir(modpath) if n_f.endswith('.py')]
sys.path.append(modpath)
for n_f in nfiles:
mod = __import__(n_f)
print(mod)
exenames = [e for e in dir(mod) if e.startswith('exe_')]
print(exenames)
loadexe()
-----8<------------mod0.py
La dir "modules" contiene files simili al seguente:
-----8<------------mod0.py
"""Modulo 0"""
def exe_primo():
"""Primo esercizio."""
return "primo"
def exe_secondo():
"""Secondo esercizio."""
return "secondo"
def exe_terzo():
"""Terzo esercizio."""
return "terzo"
-----8<------------mod0.py
Grazie per l'attenzione e per qualunque dritta.
--
Daniele
www.fugamatematica.blogspot.com
giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130328/6a301b24/attachment.html>
Maggiori informazioni sulla lista
Python