Python Flask脚本添加命令和选项

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 ... #

我希望有一个布尔标志和一个选项,可以为我的命令设置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 ... # 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()
请提供演示问题的最短完整程序。请参阅提供演示问题的最短完整程序。看