title: OSError: [Errno 9] Bad file descriptor in python 3
body: <p>I'm a beginning/intermediate level programmer currently trying to write a simple web server in Python 3. However, whenever I run the module I get OSError: [Errno 9] Bad file descriptor. I've scoured the internet looking for answers, but I can't seem to figure this one out on my own. Here is the code and traceback:</p>
  
  <pre><code>#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()
  </code></pre>
  
  <p>Traceback:</p>
  
  <pre><code>Traceback (most recent call last):
    File "/Users/BigRed/Desktop/SOS/webServer.py", line 17, in &lt;module&gt;
      (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
  </code></pre>