2013-08-28 98 views
0

我已經在USB棒python,我設計了一個recursive descent parser從便攜式Python中的文件夾導入模塊

主要腳本是recursive.py它是由命令提示符下面的代碼運行。

python.exe compiler\recursive.py<compiler\rd_input 

我的目錄結構是

python.exe 
compiler\ 
    recursive.py 
    rd_input 
在我的代碼

我生成一個Python腳本,用3種功能。

compiler\ 
    recursive_header.py 

我需要導入主腳本recursive.py以後。

我試過import recursive_headerimport compiler\recursive_headerimport compiler/recursive_header 它的顯示我已經試過給here解決錯誤

Traceback (most recent call last): 
    File "compiler\recursive.py", line 74, in <module> 
    import recursive_header 
ImportError: No module named recursive_header 

。但同樣的錯誤。

也試過

import sys 
sys.path.append('/compiler') 
import recursive_header 

這裏的錯誤數量增加提了一些關於sys

如何在我的腳本中導入編譯器\ recursive_header.py。

+0

抱歉愚蠢的錯誤。我用一個小錯字創建了這個文件:'open('compiler/recusrive_header.py','a')'糾正了這個錯誤,然後導入成功只用'import recusrive_header'。 – RatDon

回答

2

你需要一個空__init__.py文件\compiler(來告訴Python這compiler是一個模塊),然後執行:

import compiler.recursive_header 

但是如果你是產生模塊嘗試在不同的生成它模塊和加載,即具有以下結構:

python.exe 
compiler 
    __init__.py 
    recursive.py 
compiled 
    __init__.py 
    compiled_file_1.py 
    compiled_file_2.py 

有關爲什麼th的更多細節是工作方式它看到的this post

+0

顯示同樣的錯誤。 – RatDon

+0

只是要清楚 - 你是否從recursive.py中生成python代碼? –

+0

是的。根據遞歸下降解析器,我們必須根據提供的語法創建函數。不同語法的不同recursive_header.py文件。 – RatDon