Python 2.7 - 如何以编程方式从stdin读取二进制数据

时间:2017-02-25 00:38:48

标签: python python-2.7 input binary

我希望能够使用python从stdin读取二进制数据。

但是,当我使用input = sys.stdin.buffer.read()时,我收到AttributeError: 'file' object has no attribute 'buffer'的错误。这看起来很奇怪,因为docs说我应该可以使用底层缓冲区对象 - 我该如何修复/解决这个问题?

注意:我已经检查了last time这是被问到的,但是那里的答案都是“使用-u”,“使用缓冲区”(我正在尝试),或者是关于从文件。第一个和最后一个没有帮助,因为我无法控制这个程序的用户(所以我不能告诉他们使用特定的参数),因为这是stdin - 而不是文件。

1 个答案:

答案 0 :(得分:3)

只需删除python2的缓冲区:

import sys

input = sys.stdin.read()