On Jun 11, 11:02 am, reubendb <[EMAIL PROTECTED]> wrote: > Hello, > I am new to Python. I have the following question / problem. > I have a visualization software with command-line interface (CLI), > which essentially is a Python (v. 2.5) interpreter with functions > added to the global namespace. I would like to keep my own functions > in a separate module and then import that module to the main script > (that will be executed using the CLI interpreter). The problem is, I > cannot access the functions in the global namespace of the main script > from my module. Is there anyway to do that ? > > Here is an example of what I meant. The function AddPlot() and > DrawPlots() are added to the global namespace by the software CLI. If > I do this: > > mainscript.py: > --------------------------- > AddPlot("scatter", "coordinate") > # set other things here > DrawPlots() > > it works fine. But I want to be able to do this: > > myModule.py: > ---------------------- > def defaultScatterPlot(): > AddPlot("scatter", "coordinate") > #do other things > DrawPlots() > > and then in mainscript.py: > --------------------------------------- > import myModule > myModule.defaultScatterPlot() > > This won't work because myModule.py doesnot have access to AddPlot(). > How do I do something like this ? > > Thank you in advance for any help. > RDB
I think you're doing it backwards. If you want access to AddPlot, then you should import mainscript into that module instead of the other way around. When I have common methods I want to call from different scripts, I put those methods/functions into their own module/file. Then I just import the module and call whatever script I need. <code> commonMods.py --------------------- AddPlot(*args, *kwargs): # Do something DrawPlots(*args, *kwargs): # Do something --------------------- mainProgram.py ------------------------ from commonMods import AddPlot AddPlot("scatter", "coordinate") # etc etc ------------------------- myModule.py ------------------------ from commonMods import AddPlot AddPlot("scatter", "coordinate") # etc etc ------------------------- </code> Hope that helps. Mike -- http://mail.python.org/mailman/listinfo/python-list