Big problem fetching members from dynamically loaded module

Philippe C. Martin philippe at philippecmartin.com
Sat Jun 25 13:55:33 EDT 2005


Hi,

I'm getting pretty desperate here:

The code below crashes on the last line (but works from a shell).

The class 'BC' exists and the loop on self.__BC_EXEC_LIST passes fine.

It's got to be something really stupid but I've been looking at it too long
I guess.

Any clue would be quite welcome.

Regards,

Philippe






    __EXEC_LIST = [ \
    'import os', \
    'import sys', \
    'from SC.pilot.SC_Script_Processor import *', \
    'from SC.utils.SC_Convert import *', \
    'import string ', \
    'from SC.iso.SC_Dec_ISO import *', \
    'from SC.iso.SC_Enc_ISO import *', \
    'from SC.iso.SC_Analysis import *', \
    'sc_sp = SC_Script_Processor ()', \
    'sc_enc = SC_Enc_ISO ()', \
    'sc_dec = SC_Dec_ISO ()', \
    'sc_a = SC_Analysis ()', \
    'sc_conv = SC_Convert()' ]
  
    __BC_EXEC_LIST = ['from SC.CARDS.BC import *','from
SC.Solutions.SCF.BCInterface import *','sc_bc = BC_Interface()']


      for l_s in self.__BC_EXEC_LIST: #this loop works fine
        try:
          exec (l_s, self.m_process_global,self.m_process_local)
          
        except:
          traceback.print_exc()

      for l_s in self.__EXEC_LIST: #this loop works fine
        try:
          exec (l_s, self.m_process_global,self.m_process_local)
          
        except:
          print >> sys.stderr, 'FATAL INIT ERROR - PLEASE CHECK YOUR
CONFIGURATION'

        l = inspect.getmembers(eval('SC_Dec_ISO')) #THIS WORKS - the class
exists
        l = inspect.getmembers(eval('BC')) #THIS CRASHES - the class exists
        




More information about the Python-list mailing list