从python stdin中读取140个或更少的字符

从python stdin中读取140个或更少的字符,python,twitter,input,stdin,tweepy,Python,Twitter,Input,Stdin,Tweepy,我想知道如何在python中从一行中读取140个或更少的字符。用户要么输入140个字符,然后是换行符,要么输入少于140个字符的换行符。似乎raw\u input()没有限制,而且无论换行符是什么,sys.stdin.read(140)都将一直读取到达到140个字符 编辑:我该如何在140个字符处停止?只是一个硬的,不允许更多的输入。无法再键入 想法 最大值 ip = sys.stdin.readline() if len(ip) > 140: print "error: over

我想知道如何在python中从一行中读取140个或更少的字符。用户要么输入140个字符,然后是换行符,要么输入少于140个字符的换行符。似乎
raw\u input()
没有限制,而且无论换行符是什么,
sys.stdin.read(140)
都将一直读取到达到140个字符

编辑:我该如何在140个字符处停止?只是一个硬的,不允许更多的输入。无法再键入

想法

最大值

ip = sys.stdin.readline()
if len(ip) > 140:
    print "error: over 140 chars"
    sys.exit()


通常,stdin是行缓冲的,这意味着运行的程序在用户按Enter键之前不会被告知用户正在键入的内容(这允许用户使用诸如backspace之类的行编辑命令,而无需您的程序执行任何额外操作)。但是,可以将终端更改为“原始”模式,以便用户每次按键时都会通知程序。然后,您的程序可以以任何适当的方式对该按键进行操作。在这种情况下,您必须自己实现行编辑,例如退格


执行此操作的一种高级方法是使用库。

通常,stdin是行缓冲的,这意味着在用户按Enter键之前,不会通知正在运行的程序用户正在键入的内容(这允许用户使用诸如backspace之类的行编辑命令,而无需您的程序执行任何额外操作)。但是,可以将终端更改为“原始”模式,以便用户每次按键时都会通知程序。然后,您的程序可以以任何适当的方式对该按键进行操作。在这种情况下,您必须自己实现行编辑,例如退格


执行此操作的一个高级方法是使用库。

如果用户在换行前输入的字符超过140个,该怎么办?打印
“错误:超过140个字符乘以%d”%(140个字符(a))
其中
a
是生成错误消息的输入,您需要阅读整行。如果用户在换行前输入超过140个字符,该怎么办?打印
“错误:超过140个字符乘以%d”%(140个字符(a))
其中
a
是生成错误消息的输入,您需要阅读整行内容。除非我不想截断:中的-/
是python中的一个关键字。您需要使用另一个名称。除非我不想截断:
中的-/
是python中的一个关键字。你需要使用另一个名称。我如何处理
curses.raw()
curses.cbreak()
?@teknolagi:有一个。我如何处理
curses.raw()
curses.cbreak()