AttributeError: module object has no attribute

Marc 'BlackJack' Rintsch bj_666 at gmx.net
Tue May 20 14:13:08 EDT 2008


On Tue, 20 May 2008 23:31:15 +0530, Nikhil wrote:

> Peter Otten wrote:
>> Nikhil wrote:
>> 
>>> I have recently written a small module. When I import the module, I
>>> always get the error
>>>
>>>
>>> only when I do
>>>
>>>  >>> from local.my.module import *
>>>
>>> --
>>> Traceback (most recent call last):
>>>    File "<stdin>", line 1, in <module>
>>> AttributeError: 'module' object has no attribute '/xyz/py/file'
>>> ---
>>>
>>>
>>> but when I do the below, I do not get any error.
>>>
>>> --
>>>  >> import local.my.module
>>>  >>
>>> --
>>>
>>> Any ideas on what could be wrong?
>> 
>> Are you abusing the __all__ attribute?
>> 
>> $ cat tmp.py
>> __all__ = ['/xyz/py/file']
>> 
>> $ python -c "from tmp import *"
>> Traceback (most recent call last):
>>   File "<string>", line 1, in <module>
>> AttributeError: 'module' object has no attribute '/xyz/py/file'
>> 
>
> Yes, I am. Is there any reason not to?

That your module raises the `AttributeError` and is broke is not reason
enough!?  :-)

> basically, since this is implemented in the module, I have to export it 
> since the caller to the function in the module is responsible for 
> ensuring he has enough proper permissions to read the file.

What do you mean by "implemented in the module"?  `__all__` is for names
that live in the module's namespace -- '/xyz/py/file' isn't even a legal
identifier name in Python!

Ciao,
	Marc 'BlackJack' Rintsch.



More information about the Python-list mailing list