【问题标题】:Python Library "Click" pass arguments to a functionPython 库“单击”将参数传递给函数
【发布时间】:2021-04-16 01:53:30
【问题描述】:

我正在使用 click 库,并且我有一个函数“agent_diff”,它接受三个参数......我想从 CLI 接受参数并将其传递给我的函数。但我不完全确定如何将这些值传递给“agent_diff”。这是我拥有的当前代码:

#!/usr/bin/env python
import os
from sys import path
path.append(os.getcwd())
from src.main.scripts.bitbucket import *
import click




@click.command()
@click.argument('arg')
@click.option('--repository')
@click.option('tag1')
@click.option('tag2')

def main(arg):
    print(os.path.expanduser("~"))

    if arg.upper() == 'ORB-LIST':
        print('Printing List of Orbs:')
        orb_list()
    if arg.upper() == 'AGENT-LIST':
        print('Printing List of Agents:')
        agent_list()
    if arg.upper() == 'AGENT-DIFF':
        agent_diff()

if __name__ == '__main__':
    main()

任何见解都会很棒!谢谢。

【问题讨论】:

    标签: python python-3.x command-line-interface python-click


    【解决方案1】:

    点击参数和选项必须与函数的参数相对应。请参阅下面的示例。

    @click.command()
    @click.argument('arg')
    @click.option('--repository')
    @click.option('tag1')
    @click.option('tag2')
    def main(arg, repository, tag1, tag2):
        # do stuff...
        pass
    

    参数的顺序无关紧要。

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 2015-01-23
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      • 2017-12-30
      相关资源
      最近更新 更多