我正在寻找一种解决方案来限制用户可以在raw_input中输入的字符数。我在同一行中有两个raw_input,如下所示:
Name: (user input) Date of Birth: (user input)
如果用户输入的名称大于X字符数量,则会在出生日期之前开始编写,如下所示:
Name: Mary Jane Smith McDonald Obama Romney Bushh of Birth: (user input)
我发现最接近的是:Limiting Python input strings to certain characters and lengths,但这对我不起作用。我不希望它显示警告;我希望它只是停止接受更多字符和/或转到下一个输入。
我使用了blessed,这是一个使用curses将第二个输入放在与第一个输入相同的行中的库。
有什么想法吗?
答案 0 :(得分:1)
作为getstr()
的{{1}}替代函数的raw_input
函数适用于字符约束:
curses
答案 1 :(得分:1)
这是一个简单的事情,我刚刚掀起,可能会帮助有人查看这个没有使用curses的线程。在输入期间有效地约束用户输入的字符串长度。
import readchar
import sys
string = ""
while len(string) < 20:
c = readchar.readchar()
sys.stdout.write(c)
string += c
print '\n' + string