Форум сайта python.su
3
Стоит задача удаления всех имен, которые создаются после применения команды exec.
1.Правильный ли это метод удаления всех пользовательских имен и не имеет ли он каких-либо “подводных камней”? Например утечки памяти?
2.Где подробнее можно почитать про особенности exec ?
print dir()
initial_scope_names=dir()
exec "x=1"
for current_scope_name in dir():
if current_scope_name not in initial_scope_names and current_scope_name!="initial_scope_names":
exec 'del '+current_scope_name
del current_scope_name,initial_scope_names
print dir()
Офлайн
3
Кажется нашел способ получше:
ns={}
exec s in ns
del nsОфлайн