我正在编写一个小型python命令行工具,它可以导入一些数据。
用法看起来像
./cli.py export -p
./cli.py import -p
显然,“导入”与正常的导入状态相冲突。所以这个函数看起来像
@click.command(short_help="Imports all documents",
@click.option('password', '-p')
def import(password):
coll = db.get_document_collection()
由于im使用click
库解析/构建命令行选项,因此每个函数都会以其名称导入。但是当我执行的时候,它就失败了。
def import(password):
^
SyntaxError: invalid syntax
如何指定已由python内部定义的函数?
发布于 2016-04-17 03:32:56
在不更改click
选项的情况下重命名函数确实会重命名您的子命令。但是,单击“让您使用任意函数名”,并提供要与其关联的子命令名。
例如,这将为您提供运行函数import
的子命令my_import_func
。
#!/usr/bin/env python3
import click
@click.group()
def cli():
pass
@cli.command('import')
def my_import_func():
click.echo("Importing")
if __name__ == '__main__':
cli()
重新定义内置名称是个坏主意。
https://stackoverflow.com/questions/36675781
复制相似问题