0

我有一个 USB 记忆棒中的 python,我正在设计一个递归下降解析器

主脚本是recursive.py通过命令提示符下的以下代码运行的。

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

我的目录结构是

python.exe
compiler\
    recursive.py
    rd_input

在我的代码中,我正在生成一个具有 3 个函数的 python 脚本。

compiler\   
    recursive_header.py

我需要recursive.py稍后在主脚本中导入。

我试过了,import recursive_header它 显示错误import compiler\recursive_headerimport compiler/recursive_header

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.

如何在我的脚本中导入 compiler\recursive_header.py。

4

1 回答 1

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

有关为什么它的工作方式的更多详细信息,请参阅这篇文章

于 2013-08-28T23:16:22.363 回答