是否可以在python中重复执行命令行输入,直到用户显式退出

时间:2014-11-30 05:47:47

标签: python command-line-arguments

import sys
import commands
from optparse import OptionParser

def sample():
    parser.add_option("-a", "--accept",
                            action="store",
                            dest="accept",
                            type="str",
                            help="Accept or quit")
    options, args = parser.parse_args()
    if(options.accept != None) and (options.accept == "123"):
        print "Hello! code accepted!"
    elif(options.accept == "quit"):
        break

所以当我以python sample.py -a 123格式执行这个小脚本时,会打印Hello!代码接受了!然后它退出,但我希望它反复继续执行脚本,直到我继续以python sample.py -a 123格式执行。它应该只在我在命令行选项中给'退出'时退出。

当前输出: -

#python sample.py -a 123
Hello!Code accepted!
#

预期产出: -

#python sample.py -a 123
Hello!Code accepted!
python sample.py -a 123
Hello!Code accepted!
python sample.py -a 123
Hello!Code accepted!
python sample.py -a quit
#

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:0)

有一个专门用于创建命令行应用程序的python模块 - Cmd。很长一段时间它在PyMOTW(本周的Python模块)中有特色。只需几行代码,您就可以拥有一个完整的控制台应用程序,其中包含联机帮助,自动完成和REPL(读取 - 评估 - 打印循环)。 PyMOTW文章有一个不错的小教程。见http://pymotw.com/2/cmd/