importação tomada importação multiprocessamento importação re classe WSGIServer (): def init (auto): self.web_socket = socket.socket (socket.AF_INET, socket.SOCK_STREAM) self.web_socket.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1 ) auto .web_socket.bind (( ' 192.168.0.106 ' , 8080 )) self.web_socket.listen ( 128 ) def tcp_serve (auto, resp_socket): recv_data = resp_socket.recv (1024) .decode ( ' utf-8 ') Request_lines = recv_data.splitlines () file_name = '' RET = re.match (P & lt " [^ /] + (/ [^] *) " , request_lines [0]) SE RET: file_name . = Ret.group (1 ) Imprimir (file_name) IF file_name == " / " : file_name = ' \ index.html ' caminho = R & lt ' e: \\ 360Downloads Software \\ \\ \\ nova pasta tmag_23_Infinity nova pasta \\ ' +file_name tentativa : f = open (caminho, ' rb ' ) , exceto : resp_data = ' HTTP / 1.1 200 OK \ r \ n ' + " \ r \ n " + ' ..... arquivo não encontrar .... ' resp_socket.send (resp_data.encode ( ' utf-8 ' )) outro : html_content = f.read () f.close () resp_data = ' HTTP / 1.1 200 OK \ r \ n ' +" \ R & lt \ n- " resp_socket.send (resp_data.encode ( ' UTF-8. ' )) Resp_socket.send (html_content) resp_socket.close () DEF run_forver (auto): o tempo Verdadeiro: resp_socket, resp_addr = self.web_socket.accept () a p = multiprocessing.Process (target = self.tcp_serve, args = (resp_socket,)) p.start () # Como Ubuntu também precisa fechar o socket, relacionados com o descritor de arquivo, ou atualizar a página não tem fora resp_socket.close () # self.web_socket.close () DEF main (): wsgi_server= WSGIServer () wsgi_server.run_forver () se __name__ == ' __main__ ' : main ()