私はEclipse Kepler(2013)とpython 3.3.2で作業しており、次のような単純なインポートを実行しています
import glob
a = glob.glob('*')
print(a)
与えます:
TypeError: 'module' object is not callable
Idle で同じコードを実行すると、これは当てはまりません。私は何かが欠けていることを知っています。
どんな助けでも大歓迎です。
おそらくあなたのEclipse環境にglob
は、標準ライブラリの前にインポートされるという名前のモジュールがあります。
を印刷しglob.__file__
て確認してみてください。
場合によっては、組み込みモジュールと同じファイル名を使用することになります。ファイルに「glob.py」という名前を付けないでください。
これはglob
、モジュール検索パスで名前が付けられたパッケージを定義した場合にのみ可能です。そのため、組み込みモジュールをロードする代わりに、glob
python はそのパッケージをインポートしています。
モジュールの検索パスにこのようなもの
glob
├── glob.py
├── glob.pyc
├── __init__.py
└── __init__.pyc
同じエラーが発生します:
>>> import glob
>>> glob.__file__
'/home/monty/py/glob/__init__.pyc'
>>> glob.glob()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
このパッケージの名前は、Eclipse が使用するモジュール検索パスにあるように見えるため、別の名前に変更する必要があります。