カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

Pythonではライブラリのディレクトリと同じファイル名のファイルは無視される(?)

概要: Pythonのライブラリのimportではまったときのメモ


どういうことか

例えばこういうディレクトリ構造があったとする

~/dev/{project}/
    {appname}/
        __init__.py
        library.py
        library/
            __init__.py
            childlib.py

このディレクトリ構成で、{appname}/library.pyを読み込みたいとしても、 どうも{appname}/library/__init__.pyが読み込まれるっぽいので、 {appname}/library.pyは読めないっぽいです。

ちなみにPerlだと

~/dev/{project}
    {appname}/
        Library.pm
        Libary/
            ChildLib.pm

という感じの構成になりますが、こっちだと問題なく読めたりする

まあこの仕様(?)に今日一日中はまってました。

感想

Perlで動くんだから、Pythonでも似たようなもんだろうと思ってたら、 全然違ったという。まあ分からないこと解決したんで、なんとかなりそうです。

あれだ、PythonってPerl使いにとっては異文化そのものだよ!(他の言語でも一緒かな)