Why 'import module' will not import module.py but the directory module?

Peng Yu pengyu.ut at gmail.com
Sat Oct 31 20:16:06 EDT 2009


On Sat, Oct 31, 2009 at 7:02 PM, Robert Kern <robert.kern at gmail.com> wrote:
> On 2009-10-31 18:51 PM, Peng Yu wrote:
>>
>> If I have both the directory 'module' and the file 'module.py' in a
>> directory in $PYTHONPATH, python will import 'module' rather than
>> 'module.py'. I'm wondering what is the design rationale of setting
>> higher priorities to directories. Is there a way to reverse the
>> priority?
>
> You mean that you have a package "module/"? With an __init__.py? Plain
> directories that aren't packages shouldn't be imported by Python.

Yes. I mean a pakcage 'module/' with an __init__.py.

> No, you can't reverse the priority between packages and modules. I'm not
> sure why that would help you. The package would then be inaccessible if you
> did. If it's inaccessible, then why have it at all?

Why the package 'module' has to be inaccessible? I can 'import
module.part1' to access the component of the package.



More information about the Python-list mailing list