2011-11-01 73 views
8

我在學習python,並且在導入模塊時遇到了問題。 我有一個.pyc文件,我試圖導入空閒的外殼叫做dfa.pyc在空閒殼中導入模塊

我有一個名爲xyz的文件夾中的文件。 我瀏覽到該文件夾​​使用:

os.chdir('/Users/xxx/Desktop/xyz') 

所以,現在,如果我嘗試運行命令:

from dfa import * 

我得到的錯誤:

ImportError: No module named dfa 

如果我運行命令:

os.path.isfile('dfa.pyc') 

it返回true。

有人可以解釋我如何可以導入dfa.pyc文件?

謝謝

+1

什麼'sys.path'的價值? –

+0

['/ Users/xxx/Documents','/Library/Frameworks/Python.framework/Versions/3.2/lib/python32.zip','/Library/Frameworks/Python.framework/Versions/3.2/lib/python3。 2','/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/plat-darwin','/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/lib- dynload','/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages'] 這是你要求的嗎?如果我運行sys.path命令,那就是我得到的值。 THanks –

+0

http://stackoverflow.com/questions/279237/python-import-a-module-from-a-folder,請嘗試這些建議? – John

回答

10

我不認爲python模塊加載我基於你對chdir做什麼。模塊從您啓動python shell的文件夾和PYTHONPATH中的文件夾加載。

如果你想動態加載模塊,也許你可以檢查imp.loadmodule(在頁面底部的示例)。

9

,你可以通過做

sys.path.append('<newpath'>) 
from dfa import * 

我不相信改變當前目錄對進口過程中的任何影響,即使它沒有,我不知道這是如何添加到PYTHONPATH代碼你會想要這樣做。