skryabin_523 SafeEval 13316
Гадиева Тамара, 523 группа SafeEval 13297
n1def safeval(__source, __globals=None, __locals=None):n1def safeval(expreval_globals=None, eval_locals=None):
2    globals_copy = globals().copy()2    glob = globals().copy()
3    try:3    try:
n4        return eval(__source, __globals, __locals)n4        return eval(expreval_globals, eval_locals)
5    except NameError:5    except NameError:
n6        return __sourcen6        return expr
7    except Exception as e:7    except Exception as e:
8        return e8        return e
9    finally:9    finally:
n10        for key, value in globals_copy.items():n10        for key, value in glob.items():
11            if not key in globals():11            if not key in globals():
12                globals()[key] = value12                globals()[key] = value
t13        globals_finally = globals().copy()t13        glob1 = globals().copy()
14        for key, value in globals_finally.items():14        for key, value in glob1.items():
15            if not key in globals_copy:15            if not glob[key]:
16                del globals()[key]16                del globals()[key]
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op