[Tutor] How does this work?
Kent Johnson
kent37 at tds.net
Wed Feb 7 17:34:53 CET 2007
Tony Cappellini wrote:
>> PS To import a file whose name is in a variable (string), see __import__().
>
> I've started doing the import instead of exec/eval , but the person
> who wrote the module being called, started using the logging module.
> Now I can't capture the output of the module I'm calling, and display
> it in a GUI. I was using popen() previously and that worked fine,
> until he started using logging
Rereading your past postings a little bit, what you really have is bad
architecture.
If I understand you, you have a python cmdline app that does something
useful. You have users who aren't comfortable with the command line, so
you are writing a GUI wrapper that calls the cmdline app with popen().
A better approach is to turn the functional part of the cmdline app -
the code that does the real work - into an importable module. Then your
GUI app can import and use this module directly, instead of doing hacks
with popen() and stdout.
You don't even need a separate module for the cmdline app if it is
written correctly - the command-line-specific part can be in an main()
function that is only called if the module is run as main.
Kent
More information about the Tutor
mailing list