UnrealEd wrote: >> print "Insert module to display:" >> mod = str(raw_input()) >> print "\n",mod+":\n" >> for i in dir(mod): >> print i >> raw_input("\n\nAwaiting exit...") > > wanneer ik echter een module invul, laat ons zeggen "os", dan geeft hij, > ongeacht welke module je invult, dezelfde waardes terug. heeft iemand een > idee waarom dit is?
'mod' is een string object, ongeacht wat de inhoud daarvan is heeft deze altijd dezelfde methodes. Python zet dat niet automatisch om in een module; je zult daar zelf voor moeten zorgen. sys.modules is een dictionary met alle geïmporteerde modules, daar kun je dus aan de hand van een label een module uithalen: > import sys > print "Insert module to display:" > mod = str(raw_input()) > print "\n",mod+":\n" > for i in dir(sys.modules[mod]): > print i > raw_input("\n\nAwaiting exit...") De code verwacht wel dat de betreffende module al is geïmporteerd. Martijn Pieters _______________________________________________ Python-nl mailing list Python-nl@python.org http://mail.python.org/mailman/listinfo/python-nl