我想知道如何从python中的一行读取140个或更少的字符。用户可以输入刚好140个字符,然后换行符,或者小于140的换行符。看起来raw_input()
没有限制,并且sys.stdin.read(140)
将会读取,直到它遇到140个字符,而不管换行符。从python stdin中读取140个或更少的字符
编辑:我会如何阻止它在140个字符?只是一个难以容忍的输入允许。无法输入更多。
想法?
最大
我想知道如何从python中的一行读取140个或更少的字符。用户可以输入刚好140个字符,然后换行符,或者小于140的换行符。看起来raw_input()
没有限制,并且sys.stdin.read(140)
将会读取,直到它遇到140个字符,而不管换行符。从python stdin中读取140个或更少的字符
编辑:我会如何阻止它在140个字符?只是一个难以容忍的输入允许。无法输入更多。
想法?
最大
通常情况下,标准输入是行缓冲,这意味着程序运行时没有被告知哪些用户键入,直到用户按Enter键(这允许用户使用行编辑命令,如退格,而不需要你的程序做任何额外的事情)。但是,可以将终端更改为“原始”模式,以便每次用户按下某个键时都会通知程序。然后,您的程序可以采取适当的方式对该按键进行操作。在这种情况下,您必须自行实施行编辑,例如退格键。
一个高级别的方法是使用curses库。
so'curses.filter()'?想法? – tekknolagi
见编辑?可能会帮助 – tekknolagi
我怎么用'curses.raw()'和'curses.cbreak()'来做到这一点? – tekknolagi
像
ip = sys.stdin.readline()
if len(ip) > 140:
print "error: over 140 chars"
sys.exit()
如果用户在换行符之前输入超过140个字符,该怎么办? –
打印'“错误:超过140个字符%d”%(140-len(a))'其中'a'是输入 – tekknolagi
要生成错误消息,您需要阅读整行。 –