2010-10-27 69 views
2

我有一個文件main.py這樣的:的Python: '進口node.py' 提出了 「無模塊名爲PY」 誤差

import node.py 
[my code...] 

和node.py這樣的:

[more of my code] 

當執行main.py,我得到這個錯誤:

File "/home/loldrup/repo/trunk/src/src/main.py", line 2, in <module> 
    import node.py 
ImportError: No module named py 
+0

你正在使用什麼教程?你在哪看到這樣的代碼?你能引用或鏈接到這個例子嗎? – 2010-10-27 11:59:46

回答

9

你應該只說import node。名稱中的.使python認爲您要加載包node的名爲py的子模塊,因此出現此錯誤。所有這些都在Python Tutorial中詳細解釋。

+0

沒有,然後我得到 nodes.append(node(k,positions [k],posChanendsD [k])) – user488736 2010-10-27 12:24:20

+0

Ups,I ment:「TypeError:'module'object is not callable」 – user488736 2010-10-27 12:25:23

+2

那你應該沒有功能與模塊具有相同的名稱。如果你在'node'模塊中有一個'node'類,可以像這樣命名:'node.node(k,positions [k],posChanendsD [k])'。 – 2010-10-27 12:26:35

-2

我朋友幫我一把。事實證明,我將使用:

from node import * 
+0

-1:請閱讀:http://docs.python.org/howto/doanddont.html#at-module-level。這是一個糟糕的解決方案。 – 2010-10-27 15:30:13

0

如果你有一個名爲node模塊名爲node功能,做最清楚的一點是:

from node import node 

這增加了該名node到本地符號並使其參考node模塊中名爲node的功能。

這往往容易混淆,如果你給模塊及其成員不同的名字 - 雖然你學習,當你開始使用datetime模塊中的datetime類的工作,它不是那麼令人困惑的是,附帶的電池不這樣做。

相關問題