我想知道如何从python中的一行读取140个或更少的字符。用户可以输入正好140个字符,然后输入换行符,或者小于140和换行符。 raw_input()
似乎没有限制,sys.stdin.read(140)
将会读取,直到达到140个字符,无论换行符如何。
想法?
最高
答案 0 :(得分:3)
喜欢
ip = sys.stdin.readline()
if len(ip) > 140:
print "error: over 140 chars"
sys.exit()
答案 1 :(得分:1)
通常情况下,stdin是行缓冲的,这意味着在用户按下Enter键之前,程序运行时不会通知用户输入的内容(这允许用户使用退格行等行编辑命令而无需程序执行操作任何额外的)。但是,可以将终端改变为“原始”模式,以便每次用户按下键时都会通知程序。然后,您的程序可以以适当的方式对该按键进行操作。在这种情况下,您必须自己实现行编辑,例如退格。
执行此操作的一种高级方法是使用curses库。