繁体   English   中英

如何在Python中定义一个名为“导入”的函数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM