在控制台运行Python脚本

2024-04-29 09:03:59 发布

您现在位置:Python中文网/ 问答频道 /正文

对python来说是全新的,我想做以下工作:

我有这个密码:

def assem(myFile):
print "Hello ,World!" 
import myParser
from myParser import Parser
import code
import symboleTable
from symboleTable import SymboleTable


newFile = "Prog.hack"
output = open(newFile, 'w')
input = open(myFile, 'r')


prsr=Parser(input)
while prsr.hasMoreCommands():
    str = "BLANK"
    if(parser.commandType() == Parser.C_COMMAND):
        str="111"+code.comp(prsr.comp())+code.dest(prsr.dest())+code.jump(prsr.jump())+"\n"

    output.write(str)
    prsr.advance()

检查了压痕,没问题,这里有点乱。

此程序需要从控制台运行并接收名为Add.asm的文件

什么是使它运行的控制台命令?

尝试过:

  python assembler.py Add.asm

不起作用。

知道吗?


Tags: fromimportparsermyparserinputoutputcodeopen
2条回答

optparse确实是您需要的更高级的cl选项。但是,您可以使用一个简单的if __name__ == "__main__"python assembler.py <filename>。代替argparseoptparse,您可以使用sys.argv[1]作为脚本的单个简单参数。

def assem(myFile):
    print "Hello ,World!" 
    import myParser
    from myParser import Parser
    import code
    import symboleTable
    from symboleTable import SymboleTable

    newFile = "Prog.hack"
    output = open(newFile, 'w')
    input = open(myFile, 'r')
    prsr = Parser(input)

    while prsr.hasMoreCommands():
        str = "BLANK"
        if(parser.commandType() == Parser.C_COMMAND):
            str= "111" + code.comp(prsr.comp()
                ) + code.dest(prsr.dest()) + code.jump(prsr.jump()
                ) + "\n"

        output.write(str)
        prsr.advance()

if __name__ == "__main__":
    import sys
    assem(sys.argv[1])

您还需要在google上搜索python string formatting,并找到类似http://docs.python.org/library/stdtypes.html#string-formatting的链接

相关问题 更多 >