2013-09-06 118 views
5

で呼び出すことはできません私は、Eclipseケプラー(2013)での作業とPython 3.3.2と実行していますはTypeError:グロブをインポートするときに「モジュール」オブジェクトは、Eclipse

import glob 
a = glob.glob('*') 
print(a) 

のような単純なインポートができます:

TypeError: 'module' object is not callable 

Idleで同じコードを実行すると、これは当てはまりません。私は何かが足りないことを知っている。

何か助けていただければ幸いです。

+1

'glob .__ file__'は何を返しますか? –

+0

**組み込みのモジュールまたは関数と同じ名前を使用しないでください**。 – Bakuriu

答えて

4

おそらくあなたのEclipse環境には、globという名前のモジュールが標準ライブラリよりも先にインポートされます。

glob.__file__を印刷してみてください。

+0

このコメントは、この問題の理解に役立ちました。グラッツィパオロ! – rearThing

3

これは、モジュール検索パスにglobという名前のパッケージを定義した場合にのみ可能です。組み込みモジュールglobをロードする代わりに、pythonがそのパッケージをインポートしています。存在のようですので、あなたが何か他のものに、このパッケージの名前を変更する必要が

>>> 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 

:モジュール検索パス

glob 
├── glob.py 
├── glob.pyc 
├── __init__.py 
└── __init__.pyc 

でこのよう

何かが同じエラーが生成されますeclipseで使用されているモジュール検索パス上にあります。

+0

THanks!その問題を解決しました – rearThing

+0

@rearThing喜んで、あなたは[回答を受け入れる]ことができます(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)ifそれはあなたのために働いた。 –

+2

LOL。私は私のpythonスクリプト 'glob.py'の名前をつけて、なぜglobモジュールにアクセスできないと思った。 – downeyt

3

人によっては、ビルドされたモジュールと同じファイル名を使用することがあります。 ファイルの名前を "glob.py"としないでください。

+1

ありがとう!それはそれだった。また、 'glob.py'から作成された残った' glob.pyc'ファイルがある場合、それもクリーンアップしてください... – arielf

関連する問題