缘由
我发现我的记忆力不行,学习过的很多东西很快就忘了。比如linux下的很多命令,之前用过,但是过了一段时间,又要重新查找怎么使用。
我又发现,我自己开发的很多应用,相对来说记得就比较牢固。我猜想,每个人的思维模型可能都不相同,你学习别人的东西,采用的是别人的模型,你自己设计的东西,是你自己的模型,最符合自己的习惯,所以就记得牢固一些。
所以我决定,把一些常用的命令和功能,封装成我自己的命令行程序,这样用起来比较顺手,也不会忘记了。
我尝试用python语言开发命令行程序,找到一个click的库,有了它,开发python命令行程序,事半功倍。
click 介绍
相关资料网上大把,我参考了下面几个:
下面仅介绍我自己用到的几个功能。
主命令
#!/usr/bin/env python3
必须添加这条语句,这样python脚本可以直接当命令使用
import click
@click.command
def hello():
print('hello')
hello()
如示例,只需要为函数添加command装饰器即可。
子命令
@click.group()
def cli(): pass
@cli.command()
def aa(): print('aa')
还有一种方法添加子命令,大家自行查阅资料就好了。
Argument参数
有两种参数,一种是 Argument参数,一种是 Option参数。这里介绍 Argument参数, Option参数请自行查阅资料。
@ click. command()
@ click. argument('f', type=click.Path( exist= True))
def touch(f):
click.echo(click.format_filename(f))
还有一个自动补全的功能,我们下一篇文章进行介绍。
另外补充一下,你的脚本默认不是可执行的,可通过 chmod 777 filename命令增加可执行属性。
@brysj22952, 佩服!佩服!