python 之fire 终端命令行执行

cnblogs.com/pywen/p/17632340.html 

def import_file(fp):
    print("函数1打印结果: {}".format(fp))


def export_file(fp):
    print("函数2打印结果: {}".format(fp))


if __name__ == "__main__":
    fp ='./new2.txt'
    import_file(fp)

正常一个python脚本,我们要执行的话用python 

 

import fire


def import_file(fp):
    print("函数1打印结果: {}".format(fp))


def export_file(fp):
    print("函数2打印结果: {}".format(fp))


if __name__ == "__main__":
    fire.Fire()

用fire的话可以在终端执行使用某个函数, 更加灵活

python test1.py import_file --fp ./new2.txt

python test1.py export_file --fp ./new2.txt

 

import fire


def import_file(fp):
    print("函数1打印结果: {}".format(fp))


def export_file(fp):
    print("函数2打印结果: {}".format(fp))


if __name__ == "__main__":
    fire.Fire(export_file)

只导出一个 ,则执行也无需指定函数

python test1.py --fp ./new2.txt

导出多个函数作为子命令时,默认是使用函数名作为子命令名称的,函数名称有时候会非常长,输入很麻烦。可以用 Fire<dict> 方式 

import fire


def import_file(fp):
    print("函数1打印结果: {}".format(fp))


def export_file(fp):
    print("函数2打印结果: {}".format(fp))


if __name__ == "__main__":
    # 子命令的名称分别是:name和 age
    fire.Fire({
        "name": import_file,
        "age": export_file,
    })

 除了导出函数,Fire<object>方式也可以导出对象的公有方法。

import fire
 
class FileHandler:
 
    def import_file(self, fp):
        print("类里函数1打印结果: {}".format(fp))
 
    def export_file(self, fp):
        print("类里函数2打印结果: {}".format(fp))
 
 
if __name__ == "__main__":
    fh = FileHandler()
    fire.Fire(fh)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值