def reloadModules(pattern='.*', skipPattern='^IPython'):
''' Reload modules that match pattern regular expression (string or compile re) '''
from types import ModuleType
import sys
import os
import re
pattern = re.compile(pattern)
skipPattern = re.compile(skipPattern)
modules = sys.modules.keys()
#In case something is loaded in the background, it will craete a
#"dictionary changed size during iteration" error
for m in modules:
if isinstance(sys.modules[m], ModuleType) and \
m not in sys.builtin_module_names and \
'(built-in)' not in str(sys.modules[m]) and \
pattern.search(m) and \
not skipPattern.search(m):
with Try():
reload(sys.modules[m])
评论列表
文章目录