1
パッケージ内の特定のモジュールのすべてのサブモジュールをプリントアウトしようとしています。しかし、これを行うために関数を実行すると、私は混在した結果を得ています。なぜこれが起こっているのか、それを避ける方法を誰もが説明できますか?pkgutil.iter_modulesで一貫性のない結果
プロジェクトレイアウト:
/Users/me/projects/project
setup.py
/project
__init__.py
tool.py
/projectdir
__init__.py
test.py
/Users/me/projects/project/project/tool.py:
import pkgutil
for importer, modname, ispkg in \
pkgutil.iter_modules('project.projectdir',
prefix='project.projectdir.'):
if not ispkg:
print '{}'.format(modname)
/ユーザ/ ME /プロジェクト/プロジェクト/プロジェクト/ PROJECTDIR /テスト私は混合の結果を得るしかしの.py
def one():
return 'one'
これは、理想的には/projectdir
内のすべてのモジュールをプリントアウトする必要があります。
これは権利である:
$ cd /Users/me
$ project
>> project.projectdir.test
これらは間違っている:.__path__
を使用して
$ cd /Users/me/projects
$ project
>>
$ cd /Users/me/projects/project
$ project
>> project.projectdir.one