【发布时间】:2013-02-04 10:55:51
【问题描述】:
HighLine 是一个用于简化控制台输入和输出的 Ruby 库。它提供了允许您请求输入并对其进行验证的方法。有没有在 Python 中提供类似功能的东西?
要显示 HighLine 的作用,请参见以下示例:
require 'highline/import'
input = ask("Yes or no? ") do |q|
q.responses[:not_valid] = "Answer y or n for yes or no"
q.default = 'y'
q.validate = /\A[yn]\Z/i
end
它会询问“是或否?”并让用户输入一些内容。只要用户不输入 y 或 n(不区分大小写),它就会打印“Answer y or n for yes or no”并让用户再次输入答案。此外,如果用户按 Enter,则默认为 y。最后,完成后,输入将存储在input 中。这是用户首先输入“EH???”的示例结果然后是“y”:
在 Python 中是否有类似的简单方法可以做到这一点?
【问题讨论】:
-
它看起来并不难实现。这只是一个正则表达式。请参阅
re模块。 -
您在 Python 中的确切示例可在 Sergii Boiko's github 上找到
-
@BurhanKhalid 如果它回答了问题,您可能需要将其详细说明为答案。
-
stackoverflow.com/a/2827094/789593中描述了类似的方法
标签: python ruby console highline