Python Error: io.UnsupportedOperation: fileno

2019-01-08 00:45发布

I am using a server and the client programs from this link: http://www.bogotobogo.com/python/python_network_programming_tcp_server_client_chat_server_chat_client_select.php

When I run the client I encounter the following error:

Traceback (most recent call last):
  File "client.py", line 26, in client
    read_sockets, write_sockets, error_sockets =     select.select(socket_list , [], [])
io.UnsupportedOperation: fileno

I am using Python 3, but I have changed all lines using print from Python 2 to 3.

Here is the code:

while 1:
        socket_list = [sys.stdin, s]
        # Get the list sockets which are readable
        read_sockets, write_sockets, error_sockets = select.select(socket_list , [], [])

1条回答
Summer. ? 凉城
2楼-- · 2019-01-08 01:39

While the fileno() method works on normal IO objects (sys.stdout, sys.stderr, sys.stdin and socket.socket), the IDLE Python IDE changes your IO objects which breaks this.

So... if you get this error, run the command from straight up Python instead.

查看更多
登录 后发表回答