2010-05-14 43 views
1

我的目錄位置,我在a.py:如何導入blog.py(我導入的「博客」文件夾)

my_Project 
    |----blog 
      |-----__init__.py 
      |-----a.py 
      |-----blog.py 

當我是從博客進口的東西「在a.py,它顯示錯誤:

from blog import BaseRequestHandler 
ImportError: cannot import name BaseRequestHandler 

我認爲它導入博客文件夾,而不是blog.py

所以如何導入blog.py

更新

當我使用 'blog.blog',它表明這一點:

from blog.blog import BaseRequestHandler 
ImportError: No module named blog 

updated2

我的sys.path是:

['D:\\zjm_code', 'D:\\Python25\\lib\\site-packages\\setuptools-0.6c11-py2.5.egg', 'D:\\Python25\\lib\\site-packages\\whoosh-0.3.18-py2.5.egg', 'C:\\WINDOWS\\system32\\python25.zip', 'D:\\Python25\\DLLs', 'D:\\Python25\\lib', 'D:\\Python25\\lib\\plat-win', 'D:\\Python25\\lib\\lib-tk', 'D:\\Python25', 'D:\\Python25\\lib\\site-packages', 'D:\\Python25\\lib\\site-packages\\PIL'] 


zjm_code 
    |-----a.py 
    |-----b.py 

a.py是:

c="ccc" 

b.py是:

from a import c 
print c 

,當我執行b.py,我顯示此:

> "D:\Python25\pythonw.exe" "D:\zjm_code\b.py" 
Traceback (most recent call last): 
    File "D:\zjm_code\b.py", line 2, in <module> 
    from a import c 
ImportError: cannot import name c 
+0

我錯過了你進行導入的位置。這絕對不是導入'blog'模塊。 'blog.py'中有什麼? – 2010-05-14 08:11:53

回答

1

當你在a.pyimport blog應導入本地blog.py,別無其他。引述docs

modules are searched in the list of directories given by the variable sys.path which is initialized from the directory containing the input script

所以我的猜測是,不知何故,該名BaseRequestHandler不是文件blog.py中定義。

0

會發生什麼,當你:

import blog 

嘗試輸出的sys.path中,以確保您有合適的目錄來調用該模塊。

+0

查看updated2 – zjm1126 2010-05-14 08:28:42