Marc 'BlackJack' Rintsch wrote:
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.
Okay.. thanks :-)

I removed the entry from __all__, and I earlier assumed the module to break, but it did not. Thanks again :-)

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to