国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3 Click模塊的使用方法詳解

2020-02-15 21:13:26
字體:
來源:轉載
供稿:網友

Click 是 Flask 的團隊 pallets 開發的優秀開源項目,它為命令行工具的開發封裝了大量方法,使開發者只需要專注于功能實現。恰好我最近在開發的一個小工具需要在命令行環境下操作,就寫個學習筆記。

國際慣例,先來一段 “Hello World” 程序(假定已經安裝了 Click 包)。

# hello.pyimport click@click.command()@click.option('--count', default=1, help='Number of greetings.')@click.option('--name', prompt='Your name',       help='The person to greet.')def hello(count, name):  """Simple program that greets NAME for a total of COUNT times."""  for x in range(count):    click.echo('Hello %s!' % name)if __name__ == '__main__':  hello()

執行 python hello.py --count=3,不難猜到控制臺的輸出結果。除此之外,Click 還悄悄地做了其他的工作,比如幫助選項:

$ python hello.py --helpUsage: hello.py [OPTIONS] Simple program that greets NAME for a total of COUNT times.Options: --count INTEGER Number of greetings. --name TEXT   The person to greet. --help      Show this message and exit.

函數秒變 CLI

從上面的 “Hello World” 演示中可以看出,Click 是通過裝飾器來把一個函數方法裝飾成命令行接口的,這個裝飾器方法就是 `@click.command()`。

import click@click.command()def hello():  click.echo('Hello World!')

`@click.command()裝飾器把hello()方法變成了Command對象,當它被調用時,就會執行該實例內的行為。而–help參數就是Command` 對象內置的參數。

不同的 Command 實例可以關聯到 group 中。group 下綁定的命令就成為了它的子命令,參考下面的代碼:

@click.group()def cli():  pass@click.command()def initdb():  click.echo('Initialized the database')@click.command()def dropdb():  click.echo('Dropped the database')cli.add_command(initdb)cli.add_command(dropdb)

`@click.group裝飾器把方法裝飾為可以擁有多個子命令的Group對象。由Group.add_command()方法把Command對象關聯到Group對象。 也可以直接用@Group.command裝飾方法,會自動把方法關聯到該Group` 對象下。

@click.group()def cli():  pass@cli.command()def initdb():  click.echo('Initialized the database')@cli.command()def dropdb():  click.echo('Dropped the database')

命令行的參數是不可或缺的,Click 支持對 command 方法添加自定義的參數,由 option() 和 argument() 裝飾器實現。

@click.command()@click.option('--count', default=1, help='number of greetings')@click.argument('name')def hello(count, name):  for x in range(count):    click.echo('Hello %s!' % name)

打包跨平臺可執行程序

通過 Click 編寫了簡單的命令行方法后,還需要把 .py 文件轉換成可以在控制臺里運行的命令行程序。最簡單的辦法就是在文件末尾加上如下代碼:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江都市| 从江县| 九台市| 怀仁县| 乡宁县| 西安市| 泰宁县| 中卫市| 南丹县| 漾濞| 齐齐哈尔市| 墨玉县| 闻喜县| 密云县| 东方市| 保山市| 都匀市| 桐乡市| 房山区| 清流县| 开阳县| 余江县| 农安县| 信丰县| 临湘市| 托克逊县| 保靖县| 荥阳市| 北流市| 罗江县| 西充县| 区。| 仁布县| 上饶市| 本溪市| 崇信县| 睢宁县| 濮阳县| 丹凤县| 历史| 临漳县|