python 超简单的命令行文本菜单,没有外部依赖
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 超简单的命令行文本菜单,没有外部依赖相关的知识,希望对你有一定的参考价值。
import sys
if sys.version_info.major < 3:
input = raw_input
class Menu:
def __init__(self, items, title=None, prompt=None, exit_on_quit=True):
self.items = items
self.title = title
self.prompt = prompt
self.exit = exit_on_quit
def process_response(self, response):
try:
item_num = int(response)
if item_num < 1 or item_num > len(self.items):
raise ValueError
return item_num, self.items[item_num - 1]
except ValueError:
print('Invalid Response. Renenter...')
def select(self):
item_num = None
while item_num is None:
if self.title:
print("\n{}".format(self.title))
for item_num, item in enumerate(self.items):
print('{:2}. {}'.format(item_num + 1, item))
if self.prompt is None:
self.prompt = 'Select option (1-{})? '.format(len(self.items))
response = input(self.prompt)
if self.exit and response.lower() == 'q':
sys.exit(0)
item_num, item = self.process_response(response)
return item_num, item
if __name__ == '__main__':
items = ['apple', 'banana', 'cantalope']
item = Menu(items, quit=True).select()
print(item)
以上是关于python 超简单的命令行文本菜单,没有外部依赖的主要内容,如果未能解决你的问题,请参考以下文章
sed行文本处理工具
将命令行文本输出到 Javafx Textarea
VI命令行文本编辑器
技巧115 自动补全整行文本
cmd输入python没有反应——解决方法(简单好用)
宝塔面板LNMP从零开始配置NextCloud超详细教程,同时配置外部七牛云存储