簡體   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