[issue2930] Cannot change variable definied in __init_.py after importing
Jörg Rebenstorf
report at bugs.python.org
Tue May 20 17:16:38 CEST 2008
New submission from Jörg Rebenstorf <joerg.rebenstorf at tesbv.com>:
How can I change a variable that I defined in "__init__.py" of a
package called "common" from inside the .py file that imported the
package? I think there is no way to do this, in contrast to when the
variable is defined any other module of the same package but not in the
specific "__init__.py" module.
Example:
If there is a variable named let's say "fileList" in the
module "var.py" of the package "common" then I could modify the
variable "fileList" from within the importing file like this:
from common.var import *
var.fileList = [ "bla", "blub" ]
So that the change of the value of "fileList" is seen when reading it
inside a function of "var.py" after this modification.
But when the variable is defined inside "__init_.py" then the importing
script cannot access it by writing:
from common import *
fileList = [ "bla", "blub" ]
And it cannot access it by writing:
from common import *
common.fileList = [ "bla", "blub" ]
Why are variables of "__init__.py" module non-modifyable this way and
all others of submodules of the same package are modifyable? Maybe
there is this conceptional problem of the python language here or did I
miss something?
----------
components: Interpreter Core
messages: 67128
nosy: crayor
severity: normal
status: open
title: Cannot change variable definied in __init_.py after importing
type: behavior
versions: Python 2.3
__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue2930>
__________________________________
More information about the Python-bugs-list
mailing list