No se puede hacer que las variables execfile () sean globales en lugar de locales

Tengo esta función:

#This function loads the tokens for the specified account. If the tokens are not found, it quits the script.
def selectAccountTokens():

global OAUTH_TOKEN
global OAUTH_SECRET
global CONSUMER_KEY
global CONSUMER_SECRET

if args.account == 'acc1':
    execfile('tokens/acc1.py')
    print "Account tokens were successfully loaded."

elif args.account == 'acc2':
    execfile('tokens/acc2.py')
    print "Account tokens were successfully loaded."

elif args.account == 'acc3':
    execfile('tokens/acc3.py')
    print "Account tokens were successfully loaded."

elif args.account == 'acc4':
    execfile('tokens/acc4.py')
    print "Account tokens were successfully loaded."

else:
    print "Account tokens were not found, or the argument is invalid."
    quit()

Cuando lo ejecuto sin hacer las variablesOAUTH_TOKEN, OAUTH_SECRET, CONSUMER_KEY, CONSUMER_SECRET global, falla.

Luego los convertí en variables globales, pero aún cuando ejecutoprint OAUTH_TOKEN, no devuelve nada

Sé que no debería estar usando variables globales, pero no puedo encontrar una manera de hacerlo sin variables globales. Aunque, la función no está poblando las variables.

Los contenidos detokens/acc1.py es:

OAUTH_TOKEN = "gaergbaerygh345heb5rstdhb"
OAUTH_SECRET = "gm8934hg9ehrsndz9upnv09w5eng9utrh"
CONSUMER_KEY = "mdfiobnf9xdunb9438gj28-3qjejgrseg"
CONSUMER_SECRET = "esgmiofdpnpirenag8934qn-ewafwefdvzsvdfbf"

Respuestas a la pregunta(1)

Su respuesta a la pregunta