fcntl.ioctl总是在Python 2上失败

时间:2015-09-10 21:16:08

标签: python ioctl

以下内容总是失败:

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非常相似,除了与该错误的文件管理器不同,我使用可变缓冲区。

0 个答案:

没有答案