Python 网络编程随笔
2021/6/1 12:22:29
本文主要是介绍Python 网络编程随笔,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import socket class Route(object): _routes = {} def __new__(cls,*args,**kwargs): if(not hasattr(cls,'instance')): instance = super().__new__(cls) setattr(cls,"instance",instance) return getattr(cls,"instance") def __call__(self,route): def wrap(func): self._routes[route] = func return wrap router = Route() @router("/") def index() -> str: with open('index.html','r') as f: content = f.read() return content @router("/home") def home() -> str: with open("home.html",'r') as f: content = f.read() return content if __name__ == "__main__": r = Route() print(r._routes) print("server start...") s = socket.socket() s.bind(("0.0.0.0",8888)) s.listen(5) while 1: conn,addr = s.accept() print(addr) data = conn.recv(4096) print(data) header = str(data) try: method,route,_ = header.split("\\r\\n")[0].split(" ") content = Route._routes[route]() conn.send(bytes(f"HTTP/1.1 200 OK\r\nContent-Type:text/html;\r\nContent-Length:{len(content)}\r\n\r\n{content}",encoding="utf-8")) except KeyError: ... s.close()
这篇关于Python 网络编程随笔的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础
- 2024-09-2610 种方法写出更好的 Python 代码
- 2024-09-25Python编程基础详解
- 2024-09-25Python编程入门教程
- 2024-09-25从零开始使用Python构建LLaMA 3
- 2024-09-23Python中理解和使用树形结构的简单教程
- 2024-09-23Python 编程基础入门
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战