【问题标题】:read 140 or less characters from python stdin从 python 标准输入读取 140 个或更少的字符
【发布时间】:2011-10-15 20:51:17
【问题描述】:

我想知道如何从 python 的一行中读取 140 个或更少的字符。用户要么输入正好 140 个字符,然后是一个换行符,要么是少于 140 个字符和一个换行符。 raw_input() 似乎没有限制,并且sys.stdin.read(140) 将读取直到达到 140 个字符,而不管换行符如何。

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

想法?

最大

【问题讨论】:

  • 用户在换行前输入超过140个字符怎么办?
  • 打印"error: over 140 chars by %d"%(140-len(a)),其中a是输入
  • 要生成该错误消息,您需要阅读整行。

标签: python twitter input stdin tweepy


【解决方案1】:

喜欢

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

【讨论】:

  • 除了我不想截断:-/
  • in 是python中的关键字。您需要使用其他名称。
【解决方案2】:

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多