web-dev-qa-db-fra.com

Python Erreur: io.UnsupportedOperation: fileno

J'utilise un serveur et les programmes clients à partir de ce lien: http://www.bogotobogo.com/python/python_network_programming_tcp_server_client_chat_server_chat_client_select.php

Lorsque j'exécute le client, je rencontre l'erreur suivante:

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

J'utilise Python 3, mais j'ai modifié toutes les lignes à l'aide de l'impression à partir de Python 2 to 3.

Voici le 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 , [], [])
16
mee

Alors que la méthode fileno() fonctionne sur les objets normaux IO (sys.stdout, sys.stderr, sys.stdin et socket.socket), l'IDLE Python IDE modifie vos objets IO ce qui casse cela).

Donc ... si vous obtenez cette erreur, exécutez la commande directement depuis Python à la place.

19
Wolph