如何在 Python 中定义一个名为 "import" 的函数?
How can I define a function called "import" in Python?
我正在编写一个可以导入一些数据的小型 python 命令行工具。
用法看起来像
./cli.py export -p
./cli.py import -p
显然,"import"与正常的导入语句冲突。所以函数看起来像
@click.command(short_help="Imports all documents",
@click.option('password', '-p')
def import(password):
coll = db.get_document_collection()
由于我将 click
库用于 parsing/building 我的命令行选项,因此每个函数都以其名称导入。但是当我执行它时,它失败了。
def import(password):
^
SyntaxError: invalid syntax
TLDR;如何指定已由 python 内部定义的函数?
重命名函数而不更改 click
的选项确实会重命名您的子命令。但是,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()
重新定义内置名称不是个好主意。
我正在编写一个可以导入一些数据的小型 python 命令行工具。
用法看起来像
./cli.py export -p
./cli.py import -p
显然,"import"与正常的导入语句冲突。所以函数看起来像
@click.command(short_help="Imports all documents",
@click.option('password', '-p')
def import(password):
coll = db.get_document_collection()
由于我将 click
库用于 parsing/building 我的命令行选项,因此每个函数都以其名称导入。但是当我执行它时,它失败了。
def import(password):
^
SyntaxError: invalid syntax
TLDR;如何指定已由 python 内部定义的函数?
重命名函数而不更改 click
的选项确实会重命名您的子命令。但是,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()
重新定义内置名称不是个好主意。