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