Python Flask脚本添加命令和选项
我希望有一个布尔标志和一个选项,可以为我的命令设置n个参数。所需的示例用法:Python Flask脚本添加命令和选项,python,flask,flask-script,Python,Flask,Flask Script,我希望有一个布尔标志和一个选项,可以为我的命令设置n个参数。所需的示例用法: python manage.py my_command --all # Execute my_command with all id's python manage.py my_command --ids id1 id2 id3 ... # Execute my_command with n ids python manage.py my_command --all --ids id1 id2 id3 ... #
python manage.py my_command --all # Execute my_command with all id's
python manage.py my_command --ids id1 id2 id3 ... # Execute my_command with n ids
python manage.py my_command --all --ids id1 id2 id3 ... # Throw an error
我的函数现在看起来是这样的(如果同时提供了这两个函数,那么函数体也有抛出错误的逻辑):
这适用于--ids选项,但--all选项表示:错误:参数--all:应为一个参数
TLDR:我怎么能同时拥有一个选项和一个命令?试试看
例如:
from flask import Flask
from flask.ext.script import Manager
app = Flask(__name__)
my_command_manager = Manager(app)
@my_command_manager.option(
"--all",
dest="all_ids",
action="store_true",
help="Execute for all ids.")
@my_command_manager.option(
"--ids",
dest="ids",
nargs="*",
help="The ids to execute.")
def my_command(ids, all_ids):
print(ids, all_ids)
if __name__ == "__main__":
my_command_manager.run()
试试看
例如:
from flask import Flask
from flask.ext.script import Manager
app = Flask(__name__)
my_command_manager = Manager(app)
@my_command_manager.option(
"--all",
dest="all_ids",
action="store_true",
help="Execute for all ids.")
@my_command_manager.option(
"--ids",
dest="ids",
nargs="*",
help="The ids to execute.")
def my_command(ids, all_ids):
print(ids, all_ids)
if __name__ == "__main__":
my_command_manager.run()
请提供演示问题的最短完整程序。请参阅提供演示问题的最短完整程序。看