0

我正在尝试为 python 脚本编写一个 Makefile,它将创建一个VMTranslator

可执行文件,它应该得到一个输入,

这意味着这是应该如何在 shell 命令上完成的:

1)make <==== should make the VMTranslator executable.

2)VMTranslator BasicTest.vm <==== the user is supposed to use it like this.

根据我在网上找到的内容,我尝试了以下方法:

#!/usr/local/bin/
    python *$

但它不工作。

需要包含的文件有:codeWriter.py、vmTranslator.py、parser.py。

如何才能做到这一点?

4

2 回答 2

6

Python 二进制文件是一个解释器。它不会创建独立的可执行文件。

您可以做的是编写一个 Python 脚本来执行您想要的操作,只要 Python 可执行文件存在,就可以使该脚本透明地运行:

#!/usr/bin/env python
#

import codeWriter
import vmTranslator
import parser

# Add code here to parse arguments and call into the imported code.

将其另存为VMTranslator,并使文件可执行 ( chmod +x VMTranslator)。

于 2012-05-15T08:56:59.133 回答
0

你能像这样从 shell 运行你的脚本python vmTranslator.py BasicTest.vm吗?如果 vmTranslator.py 包含它需要工作的内容,这应该可以工作。如果是这样,您可以将以下内容写入可执行的 shell 脚本VMTranslator

#!/bin/bash
python vmTranslator.py $1

然后你应该能够像这样运行它:

./VMTranslator BasicTest.vm

如果您的变量不包括当前目录(这些天强烈推荐设置),您将需要./在一开始的情况下。PATH.

此外,请务必提供正确的 shebang 行#!/bin/bash来定位系统上的 shell。

于 2012-05-15T08:50:37.110 回答