我正在制作一个程序女巫,基本上是我为学校制作的几个数学库的终端接口。流程是python终端中的无限循环,可让您选择调用库中的函数,添加值并获得答案。
问题是,我希望代码可以减少调用请求输入的麻烦,为此,我希望列出所有可用命令。
或者甚至更好地显示不同的类别,并使其可以编写子帮助,例如
>>> help
algebra
finance
geometry
>>>help.finance
stockmarket
personal finance
>>>help.finance.stockmarket
what: price to earnings. command: "p2e" values: stockpice, eps
注意:这只是我刚刚创建的一些sudo方案,但类似的方法可以工作。
现在我已经创建了if语句,但是当移植到我所有不同的库和类别中时,代码很快就会变得重复。
我现在也有了它,如果您键入“ help”,您将获得所有单个命令。
print("Welcome to the stockmath project ")
print("if you want to run a command just type it in below")
print("if you dont know any commands, type help")
print("_______________________________________________")
command = input()
while True:
if command == ("stm.test"):
stockmath.test()
elif command == ("help") and counter == 0:
print ("p2e, price to earnings,command = stm.p2e,"
"values: price per share, earnings per share")
elif command == ("quit"):
break
我再次提醒您,我还没有构建此部分。
答案 0 :(得分:2)
使用python模块cmd。
这是一个非常基本的例子
import cmd
class SimpleCmd(cmd.Cmd):
intro = 'Welcome to this simple command prompt'
prompt = ">>"
def do_left(self,arg):
"""Go Left"""
print("Go Left")
def do_right(self,arg):
"""Go Right"""
print("Go Right")
def do_quit(self,arg):
"""Exit command prompt"""
return True
if __name__ == '__main__':
SimpleCmd().cmdloop()
程序的输出看起来像这样
Welcome to this simple command prompt
>>help
Documented commands (type help <topic>):
========================================
help left right
>>help left
Go Left
cmd模块将为您处理无限循环,并将执行许多复杂的工作,例如解析帮助文档以及使用和箭头键提供命令历史记录。