在Sanic框架中,可以使用argparse库来解析命令行参数,并将这些参数传递给Sanic路由。下面是一个示例代码:
from sanic import Sanic
from sanic.response import json
import argparse
# 创建一个Sanic应用
app = Sanic("my_app")
# 创建一个argparse解析器
parser = argparse.ArgumentParser()
parser.add_argument("--name", help="用户姓名")
parser.add_argument("--age", type=int, help="用户年龄")
# 定义一个路由处理函数,接收argparse参数
@app.route("/")
async def index(request):
# 解析命令行参数
args = parser.parse_args(request.args)
# 获取参数值
name = args.name
age = args.age
# 返回JSON响应
return json({"name": name, "age": age})
if __name__ == "__main__":
# 启动Sanic应用
app.run(host="0.0.0.0", port=8000)
在上述代码中,我们首先创建了一个Sanic应用,并创建了一个argparse解析器。然后,我们定义了一个路由处理函数,使用@app.route
装饰器将其与根路径"/"绑定。在路由处理函数中,我们使用parser.parse_args()
方法解析传递给路由的参数,并通过request.args
获取参数值。最后,我们返回一个JSON响应,包含解析后的参数值。
使用argparse库可以方便地解析命令行参数,并将其传递给Sanic路由。这在需要从命令行传递参数给路由处理函数时非常有用。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云