2010-05-25 118 views
2

我有2個文件一個Python項目: epic.py site.py無法導入一個Python模塊

在epic.py我

from site import * 
bark() 

在site.py我行有行

def bark(): 
    print('arf!') 

,當我嘗試運行epic.py,則返回「汪汪沒有定義」
這是奇怪。

回答

5

嘗試將site.py重命名爲mysite.py或類似的東西,因爲有一個標準的Python site模塊。

+0

難怪我沒有在文檔中找到任何有關它的信息.. 是否有一個禁止名稱的簡短列表? – Asaf 2010-05-25 19:29:33

+0

http://docs.python.org/library/ - 在左邊使用快速搜索顯示與此相關的所有內容(以'site'開頭的第一個結果就是模塊) – wvd 2010-05-25 19:31:30

+0

您可以隨時嘗試導入名稱以在使用前檢查它它。您也可以在導入的模塊上調用'dir()'來查看模塊中的函數是否是您期望的。 – 2010-05-25 19:52:33

1

這是因爲site也是內置模塊的名稱。您並未真正導入您的定製site模塊。如果您將名稱更改爲site_.py並相應地導入,則它將起作用。