Hi.
I am trying to dynamically load a class and attributes at run time. I
do not know what classes will be referenced until run time. I have it
loading the module correctly, but when I use getattr to access the
class and its attributes everything works except that I get additional
unwanted output. The code
testclass.py:
#!/usr/bin/python
class testclass(objec t):
myname = ""
def __init__(self, name):
self.myname = name
def view(self):
print "hello %s" % self.myname
test.py:
#!/usr/bin/python
import sys
sys.path.append ('.')
from pprint import pprint
if __name__ == '__main__':
myname = "testclass"
myaction = "view"
try:
tc = __import__(myna me)
myclass = getattr(tc,myna me)
myinstance = getattr(myclass ('python n00b'), myaction,
myaction)
pprint(myinstan ce())
except ImportError:
"error"
Here is the output that I get:
user@debian:~/$ python test.py
hello python n00b
None
user@debian:~/$
Why is it printing 'None'? What am I doing wrong. I appreciate any
help.
I am trying to dynamically load a class and attributes at run time. I
do not know what classes will be referenced until run time. I have it
loading the module correctly, but when I use getattr to access the
class and its attributes everything works except that I get additional
unwanted output. The code
testclass.py:
#!/usr/bin/python
class testclass(objec t):
myname = ""
def __init__(self, name):
self.myname = name
def view(self):
print "hello %s" % self.myname
test.py:
#!/usr/bin/python
import sys
sys.path.append ('.')
from pprint import pprint
if __name__ == '__main__':
myname = "testclass"
myaction = "view"
try:
tc = __import__(myna me)
myclass = getattr(tc,myna me)
myinstance = getattr(myclass ('python n00b'), myaction,
myaction)
pprint(myinstan ce())
except ImportError:
"error"
Here is the output that I get:
user@debian:~/$ python test.py
hello python n00b
None
user@debian:~/$
Why is it printing 'None'? What am I doing wrong. I appreciate any
help.
Comment