Seeing "locals()" from imported function

7stud bbxx789_05ss at
Sun Feb 24 07:41:34 CET 2008

On Feb 23, 10:06 pm, "Luis M. González" <luis... at> wrote:
> I apologize for this very basic question, but I can't understand how
> this works...
> I want to import a function from module B into my main script A, so
> this function can see and use the locals from A.

> For example:
> def auto():
>     urls = ['/', 'index']
>     for k,v in __main__.locals().items():         #  these "locals"
> are the ones of the main script
>             if isinstance(v,type) and k != 'index':
>                     urls.append('/%s' %k)
>                     urls.append(k)
>     return tuple(urls)
> Of course this doesn't work...
> Any hint?

Yes, define your functions so that they get all the input they need
from the arguments that are passed in.

More information about the Python-list mailing list