Changing Lutz's mydir from Edition 2, Learning Python

W. eWatson wolftracks at invalid.com
Sun Jan 17 23:15:22 CET 2010


Chris Rebert wrote:
> On Sun, Jan 17, 2010 at 12:11 PM, W. eWatson <wolftracks at invalid.com> wrote:
>> See Subject. The code is below with a few changes I made at the bottom by
>> inserting
>>    import string
>>    import numpy
>>
>>    module = raw_input("Enter module name: ")
>>    listing(module)
> 
> As the error says, strings have no __name__ attribute; from this, one
> can infer that listing() expects a module object, not a string which
> is the name of a module.
> 
> Try instead:
>     module = __import__(raw_input("Enter module name: "))
>     listing(module)
> 
> Cheers,
> Chris
> --
> http://blog.rebertia.com
> 
>> I thought I'd see if I could convert this to a program instead, which asks
>> the user for the module.
>>
...


>>  File "C:/Sandia_Meteors/Sentinel_Development/Learn_Python/mydir_pgm.py",
>> line 31, in <module>
>>    listing(module)
>>  File "C:/Sandia_Meteors/Sentinel_Development/Learn_Python/mydir_pgm.py",
>> line 8, in listing
>>    print "name:", module.__name__, "file:", module.__file__
>> AttributeError: 'str' object has no attribute '__name__
Very cool. Thanks to both of you.



More information about the Python-list mailing list