On 6/23/2011 11:49 PM, Gnarlodious wrote:
Let me restate my question.
Say I have a script Executable.py that calls all other scripts and
controls them:

#!/usr/local/bin/python
from Module import Data
import ModuleTest

ModuleTest.py has this:

print(Data.Plist.Structure)

Running Executable.py gives me this:
NameError: name 'Data' is not defined

1) Can I tell Executable.py to share Data with ModuleTest.py?

After the import is complete, yes.
import ModuleTest
ModuleTest.Data = Data

This works if the use of Data is inside a function that is not called during import, not if the use of Data is at toplevel or in a class statement outside a def.

or if that can't be done:
2) Can I tell ModuleTest.py to "look upstream" for Data?

Yes if ModuleTest imports Executable, but circular imports are a bad idea.


--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to