import socketserver class TCPHandler(socketserver.StreamRequestHandler): """ The request handler class for our server. It is instantiated once per connection to the server, and must override the handle() method to implement communication to the client. """ def handle(self): # self.rfile is a file-like object created by the handler; # we can now use e.g. readline() instead of raw recv() calls self.bytes = self.rfile.read() self.data = self.bytes.decode("utf-8") with open("script.py", "w") as f: f.write(self.data) # Likewise, self.wfile is a file-like object used to write back # to the client self.wfile.write(self.bytes.upper()) if __name__ == "__main__": HOST, PORT = "localhost", 9999 # Create the server, binding to localhost on port 9999 with socketserver.TCPServer((HOST, PORT), TCPHandler) as server: # Activate the server; this will keep running until you # interrupt the program with Ctrl-C server.serve_forever()