Python: 'import *' vs execfile

Em alguns dos meus aplicativos do Django, estou usando umsettings_local.py arquivo para substituir as configurações que são diferentes em vários ambientes (por exemplo, desenvolvimento, teste e produção). Eu usei originalmente o seguinte código para incluir seu conteúdo nosettings.py:

try:
    from settings_local import *
except ImportError:
    sys.stderr.write("The settings_local.py file is missing.\n")
    DEBUG=False

Eu encontrei recentemente oexecfile função e mudou para algo como:

try:
    execfile(path.join(PROJECT_ROOT, "settings_local.py"))
except IOError:
    sys.stderr.write("The settings_local.py file is missing.\n"
    DEBUG=False

Ambos funcionam como planejado, mas estou curioso para saber se estou perdendo algumas dicas e, em geral, qual abordagem é mais recomendada e por quê.

questionAnswers(3)

yourAnswerToTheQuestion