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