限制raw_input长度

时间:2015-12-26 02:12:24

标签: python raw-input

我正在寻找一种解决方案来限制用户可以在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将第二个输入放在与第一个输入相同的行中的库。

有什么想法吗?

2 个答案:

答案 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