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

Antwoord per e-mail aan