Accessing variables in __init__.py

Marco Nawijn nawijn at gmail.com
Tue Oct 16 06:11:55 EDT 2012


On Tuesday, October 16, 2012 10:48:17 AM UTC+2, Gaudha wrote:
> my_package/
> 
>   __init__.py
> 
>   my_module1.py
> 
>   my_module2.py
> 
>   variables.py
> 
> 
> 
> I want to define common variables in __init__.py and use the namespace in my_module1.py or my_module2.py. Defining it is not a problem. How can call it from my modules?
> 
> 
> 
> If I define them in a module (say, variables.py), I can call them by importing variables.py in other modules. How can it be done if I define it in __init__.py?
> 
> 
> 
> It may be a silly query as I am newbie in Python. But, I would be grateful to get help.

Hi,

If you store the variables in __init__.py, you can import them from the package. So in your case suppose __init__.py contains:
a = 10
b = {1 :"Hello", 2: "World" }

Than if you import my_package, you can access the variables as follows (interactive IPython session):

In [1]: import my_package

In [2]: my_pack
my_package   my_package/  

In [2]: my_package.
my_package.a  my_package.b  

In [2]: my_package.a
Out[2]: 10

In [3]: my_package.b
Out[3]: {1: 'Hello', 2: 'World'}

In [4]: 




More information about the Python-list mailing list