我希望能够使用python从stdin读取二进制数据。
但是,当我使用input = sys.stdin.buffer.read()
时,我收到AttributeError: 'file' object has no attribute 'buffer'
的错误。这看起来很奇怪,因为docs说我应该可以使用底层缓冲区对象 - 我该如何修复/解决这个问题?
注意:我已经检查了last time这是被问到的,但是那里的答案都是“使用-u”,“使用缓冲区”(我正在尝试),或者是关于从文件。第一个和最后一个没有帮助,因为我无法控制这个程序的用户(所以我不能告诉他们使用特定的参数),因为这是stdin - 而不是文件。
答案 0 :(得分:3)
只需删除python2的缓冲区:
import sys
input = sys.stdin.read()