方法一:使用argparse
import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('--ip', type=str,nargs='+', default=None, help="os IP")
parser.add_argument('--num', type=int, default=10, help="number")
args = parser.parse_args()
print(args.ip )
print(args.num )
参数说明:
nargs='+' 至少传入一个参数
parser.print_help() 自动打印help提示
方法二:使用fire模块
有点更灵活,更适合已经开发完的软件改动量小
fire模块属于第三方模块需要单独安装
方式一:直接读取函数传参,如果传参有默认参数则为非必传项,如果没有则为必传项
import fire
def funcTest(run_cmd,timeout):
print(run_cmd)
print(timeout)
if __name__ == '__main__':
fire.Fire(funcTest)
运行:
python test_fire.py run_test_cmd 22
方式二:直接从类中解析
import fire
class FuncTest():
def funcrun(self,run_cmd,timeout):
print(run_cmd)
print (timeout)
if __name__ == '__main__':
fire.Fire(FuncTest)
运行:
python test_fire.py funcrun run_test_cmd 10