OSError: Плохой дескриптор файла в python 3

Я программист начального / промежуточного уровня, который в настоящее время пытается написать простой веб-сервер в Python 3. Однако всякий раз, когда я запускаю модуль, я получаю OSError: [Errno 9] Плохой дескриптор файла. Я искал интернет, ища ответы, но я, похоже, не могу понять это самостоятельно. Вот код и трассировка:

#import socket module from socket import * serverSocket=socket(AF_INET,SOCK_STREAM) #Prepare a server socket serverSocket.bind(('IP address', 8000)) serverSocket.listen(1) while True: #Establish the connection print('Ready to serve...') (connectionSocket, addr) = serverSocket.accept() print ('connected from',addr) try: message=connectionSocket.recv(1024) filename=message.split()[1] print (filename) filename=message.split()[1] f=open(filename[1:]) outputdata=f.read() #Send one HTTP header line into socket connectionSocket.send('HTTP/1.1 200 OK') #Send the content of the requested file to the client for i in range(0, len(outputdata)): connectionSocket.send(outputdata[i]) connectionSocket.close() except IOError as err: print ('IO error') #Send response message for file not found connectionSocket.send(b'file not found') #Close client socket connectionSocket.close() serverSocket.close() 

Выслеживать:

 Traceback (most recent call last): File "/Users/BigRed/Desktop/SOS/webServer.py", line 17, in <module> (connectionSocket, addr) = serverSocket.accept() File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/socket.py", line 184, in accept fd, addr = self._accept() OSError: [Errno 9] Bad file descriptor 

One Solution collect form web for “OSError: Плохой дескриптор файла в python 3”

Когда есть OIError, вы вызываете serverSocket.close() . Но при повторном входе в цикл while вы вызываете serverSocket.accept() без вызова serverSocket=socket(AF_INET,SOCK_STREAM) , и это не удается, потому что вы вызвали serverSocket=socket(AF_INET,SOCK_STREAM) close()

Посмотреть это сообщение

Надежда помощь

PD: разработчики django не используют сокет регулярно. знак равно

Python - лучший язык программирования в мире.