【发布时间】:2015-09-10 21:16:07
【问题描述】:
以下总是失败:
import fcntl
import termios
buffer = bytearray(8)
fcntl.ioctl(2, termios.TIOCGWINSZ, buffer, True)
总是失败:
Traceback (most recent call last):
File "testit.py", line 5, in <module>
fcntl.ioctl(2, termios.TIOCGWINSZ, buffer, True)
TypeError: ioctl requires a file or file descriptor, an integer and optionally an integer or buffer argument
- 第一个参数很容易满足“文件描述符”标准。
-
termios.TIOCGWINSZ== 21523,一个整数 - 第三个参数是一个缓冲区。
为什么?它在 Python 3 中执行得很好,但是我们在生产中使用 Python 2。
编辑:这与Python's issue #10345 非常相似,除了与该错误的提交者不同,我是使用可变缓冲区。
【问题讨论】: