0

我想知道如何从 python 的一行中读取 140 个或更少的字符。用户要么输入正好 140 个字符,然后是一个换行符,要么是少于 140 个字符和一个换行符。似乎raw_input()没有限制,sys.stdin.read(140)无论换行如何,它都会读取到 140 个字符。

编辑:我如何在 140 个字符处停止它?只是一个艰难的不允许更多的输入。无法输入更多。

想法?

最大限度

4

2 回答 2

3

喜欢

ip = sys.stdin.readline()
if len(ip) > 140:
    print "error: over 140 chars"
    sys.exit()
于 2011-10-15T20:55:28.597 回答
1

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

一种高级方法是使用curses库。

于 2011-10-15T20:55:40.163 回答