批处理选择命令的 Python 等效项
Posted
技术标签:
【中文标题】批处理选择命令的 Python 等效项【英文标题】:Python equivalent for batch Choice command 【发布时间】:2013-09-12 13:05:14 【问题描述】:我正在用 python 做一个小项目,经过一些工作后,我想知道是否有一种方法可以在 python 3 中输入数据,这有点类似于批处理的选择命令。几乎只接受一键输入,然后结束输入提示。
例如:
Choice(['Y', 'N'], "Yes or No? ")
用户可以按“Y”或“N”,程序将继续运行。
我做了一些简短的冲浪,但没有找到任何我可以使用的东西。
奖金:
如果这个“选择”命令可以排除多个字符,那将更加有用。
几乎是input
,但限制了他们可以输入的字符数,然后立即继续。事实证明,后者很难。
提前致谢,莫娜
【问题讨论】:
【参考方案1】:没有内置的,但你可以这样做:
def choice(options, prompt):
while True:
output = input(prompt) # Use raw_input(prompt) for Python 2.x
if output in options:
return output
else:
print("Bad option. Options: " + ", ".join(options))
这将允许用户在命令行中输入任意字符串(任意长度),并且一旦用户点击enter
就会继续。不幸的是,我知道没有简单的方法可以在设定的字符数后自动停止。
但是,this post 确实讨论了从命令行获取单个字符的方法。你或许可以把它改编成上面的函数,让它在一定数量的字符后自动继续,而不用等待按下enter
键。
【讨论】:
好的,我会进一步研究这个。谢谢以上是关于批处理选择命令的 Python 等效项的主要内容,如果未能解决你的问题,请参考以下文章
选择案例的 Python 等效项 (CDec(variable)
如何制作带选项的批处理。例如:选择y会执行一项命令,选择n会执行另一项命令
Linux Shell 中的 ` +` 的 Windows 等效项是啥?