i cant seem to make this work.
I have 2 python files, lets say a.py and b.py
in a.py is this:
def foo():
global name
name = "foo"
import b
b.bar()
if __name__ == "__main__":
foo()
in b.py this:
import a
def bar():
name = a.name
print(name)
I have three different question in relation to this code:
- Why do i get the error:
AttributeError: 'module' object has no attribute 'name'I know for certain that b.py cant access the variable defined in the function in b.py but how do i solve this? - does global in this case changes anything? if not, why?
- i tried doing
name = a.foo.nameinstead ofname = a.namebut this doesnt do the trick either and gives me:AttributeError: 'function' object has no attribute 'name', is this even practicable in any case and what did i do wrong?
Thanks for taking the time and sorry if this seems obvious to some of you, i'am still getting into this.
nameina.py?namesomewhere in a.py outside offoo().foo()is executed once, variablenamewill remain"foo"in the current process even if youimport aagain.