python中的控制台选择菜单
我想用python创建一个控制台选择菜单,如下所示:python中的控制台选择菜单,python,algorithm,Python,Algorithm,我想用python创建一个控制台选择菜单,如下所示: Choose an option: > 1. Do something 1 < 2. Do something 2 3. Do something 3 4. Do something 4 Choose an option: 1. Do something 1 > 2. Do something 2 < 3. Do something 3 4. Do something 4 选择一个选项:
Choose an option:
> 1. Do something 1 <
2. Do something 2
3. Do something 3
4. Do something 4
Choose an option:
1. Do something 1
> 2. Do something 2 <
3. Do something 3
4. Do something 4
选择一个选项:
> 1. 做点什么<
2.做点什么2
3.做点什么
4.做点什么
如果我按向上箭头键,什么也不会发生。如果我按下向下键,小于和大于符号会像这样上下移动:
Choose an option:
> 1. Do something 1 <
2. Do something 2
3. Do something 3
4. Do something 4
Choose an option:
1. Do something 1
> 2. Do something 2 <
3. Do something 3
4. Do something 4
选择一个选项:
1.做点什么
> 2. 做点什么2<
3.做点什么
4.做点什么
但是我不知道哪个Python3模块会帮助我抓住按键而不是input()
,我想知道如何正确地对齐它
我的对齐解决方案是打印空格(可能?),当按键事件被捕获时,控制台将被清除,并再次打印选择菜单,而不是更改/修改字符串
此外,选项将从列表中获取,这意味着此菜单是可扩展的您必须检测键盘键。正如这个答案所提到的,Python有一个模块 您可以使用以下命令安装它
pip install keyboard
下面是它的工作原理
- 定义菜单编号范围,在本例中为1到4
- 设置一个默认的选定菜单,并用我们定义的数字表示它,这样当用户打开菜单时它就会出现,在本例中为1
- 如果用户按向上键,则您已减小所选菜单号,除非它位于范围的第一个元素上。反之亦然,对于向下键,您已增加所选菜单编号,除非它位于范围的最后一个元素上
导入键盘
已选择=1
def显示菜单():
全球选定
打印(“\n”*30)
打印(“选择一个选项:”)
对于范围(1,5)内的i:
print(“{1}{0}.Do something{0}{2}.format(i,“>”if selected==i else”“”上述过程会使代码更混乱,需要root权限才能在Linux上运行。
最好的方法是使用查询
pip3安装查询
并使用以下代码
import enquiries
options = ['Do Something 1', 'Do Something 2', 'Do Something 3']
choice = enquiries.choose('Choose one of these options: ', options)
print(choice)
对于未来的读者:自2020年起,它不支持Windows文件“{user}\AppData\Local\Programs\Python37\lib\curses\u init\uuuuz.py”,第13行,在from\u curses import*ModuleNotFoundError:没有名为“\u curses”的模块