修改http_charfinder.py使能在python311环境中运行

需要修改两个函数,第一个是init函数,修改如下:

async def init(loop, address, port): # <1>

app = web.Application(loop=loop) # <2>

app.router.add_route('GET', '/', home) # <3>

app = web.Application() # <2>

app.add_routes([web.get('/', home)])

handler = app.make_handler() # <4>

server = yield from loop.create_server(handler,

address, port) # <5>

runner = web.AppRunner(app)

await runner.setup()

server = await loop.create_server(runner.server,

address, port) # <5>

return server.sockets[0].getsockname() # <6>

不修改程序会报deprecation警报

第二个函数是home函数,修改如下:

def home(request): # <1>

query = request.GET.get('query', '').strip() # <2>

query = request.query.get('query', '').strip() # <2>

...

不修改程序会报如下错误:

Error handling request

Traceback (most recent call last):

...

File "D:\fluentPy\chapter17_18\http_charfinder.py", line 29, in home

query = request.GET.get('query', '').strip() # <2>

^^^^^^^^^^^

AttributeError: 'Request' object has no attribute 'GET'

因为request.GET已经被弃用了

如果程序运行正常,浏览器界面如下:

相关推荐
Sagittarius_A*15 分钟前
形态学与多尺度处理:计算机视觉中图像形状与尺度的基础处理框架【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉
m0_5613596718 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_7903009618 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
自可乐29 分钟前
LangGraph从入门到精通:构建智能Agent的完整指南
人工智能·python·机器学习
m0_5613596731 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
逻极1 小时前
Moltbot 快速入门指南(2026年1月最新版)
python·ai·aigc·智能助手·clawdbot·molbot
AAD555888991 小时前
基于Deformable-DETR的植物叶片病害检测
python
Cemtery1161 小时前
Day40 早停策略和模型权重的保存
人工智能·python·深度学习·机器学习
Jackson@ML1 小时前
[Kimi重磅出击!]用Kimi Code智能高效开发Web应用程序指南
ide·python·kimi code
u0109272711 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python