[python] Bezpečnsost kódu - funkce exec

Jirka Vejrazka jirka.vejrazka na gmail.com
Středa Únor 2 23:15:52 CET 2011


> Na to nemusíš používat exec. Pokud chceš importovat nějaký
> soubor/modul, jehož jméno máš v proměnné, viz __import__. Potom stačí
> třeba getattr.


Jenom doplnim Petra. Tohle je z nejakeho meho starsiho kodu, treba ti
to v necem pomuze:

def get_task(job_, callback_fn, id_):
    '''gets a plugin object that we can execute as a task'''
    debug2('About to import plugin %s' % job_.plugin)
    try:
        plugin = __import__(job_.plugin, globals(), locals(), 'runtime')
    except (ImportError, SyntaxError), e:
        error('Error importing %s: %s' % (job_.plugin, str(e)))
        return None
    runtime = plugin.runtime()


  Jirka


Další informace o konferenci Python