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)