[英]How can I define a function called “import” in Python?
我正在编写一个小的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()
由于即时通讯使用click
库来解析/构建我的命令行选项,因此每个函数都将使用其名称导入。 但是当我执行它时,它失败了。
def import(password):
^
SyntaxError: invalid syntax
TLDR; 如何指定python内部已经定义的函数?
在不更改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()
重新定义内置名称不是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.