mange
程序员文章站
2022-05-23 17:00:36
from flask import Flask app = Flask(__name__) manager = Manager(app) 1. 重写Command class ShellCommand(Command): """这里是用help查到信息""" # option_list = { # ... ......
from flask import flask
app = flask(__name__)
manager = manager(app)
1. 重写command
class shellcommand(command):
"""这里是用help查到信息"""
# option_list = {
# option("--name", "-n", dest="name"), 这两种方法创建命令, 都会爆红, 但是能正常用
# }
<<<def __init__(self, default_name="name"):
self.default_name = default_name
def get_options(self):
return [
option("-n", "--name",dest="name", default=self.default_name)
]>>>
def run(self):
return "这是继承重写方法"
# 1. 直接提交, 必须在run之前执行
manager.add_command("sc", shellcommand())
# 2. 在run()中以字典形式提交
manager.run({{"sc": shellcommand()}})
注意:
1.1 方法有两种1为注释的, 2是<<<xx>>>中的
2. 装饰command
@manager.command
def cmd1(name=false):
"""这里是用help查到信息"""
return "这是command创建的", "yes" if name else "no"
注意:
2.1 这里创建带参数的调用方法:
python file_name.py cmd1 -n # 执行 ("这是command创建的", "yes")
python file_name.py cmd1 --name # 执行 ("这是command创建的", "yes")
python file_name.py cmd1 # 不完整执行 ("这是command创建的", "no") 数据没有传递到函数中
3. 装饰option
@manager.option("-n", "--name", help="这里是用help查到信息", dest="name", default="aa")
def cmd2(name):
return "这是option创建的", name
注:
3.1 dest: 关键字参数的参数, 必须和命令--name中的name对应 可省略
3.2 default: 关键字参数的默认值 可省略
上一篇: PHP多线程模拟实现秒杀抢单
下一篇: 浅析PHP类的反射来实现依赖注入过程