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