很久没有写过类似的代码了,感觉好陌生。。。

#!/usr/bin/python
#coding:utf-8

import json
import getopt
import sys
import requests

#获取命令行参数
def get_opt():
    try:
        config_opt = {"deploy_version": "None",  "file": "jsonReport.json"}
        opts, args = getopt.getopt(sys.argv[1:], "hv:f:", ["help"])
        for option, value in opts:
            if option in ["-h", "--help"]:
                print """usage:%s -v deploy_version -f file"""
            elif option in ['-v']:
                config_opt["deploy_version"] = value
            elif option in ['-f']:
                config_opt["file"] = value
        return config_opt
    except getopt.GetoptError:
        print """usage:%s -v deploy_version -f file"""
        sys.exit()

#载入JSON文件
def load_json(file_name):
    json_str = json.load(open(file_name))
    return json_str["total"], json_str["fail"]

#发送POST请求给REST接口
def rest_post(payload):
    rest_api_url = "http://10.2.4.3/api/"
    print rest_api_url, payload
    return requests.post(rest_api_url, data=payload)

#主要程序执行流
def main():
    config_opt = get_opt()
    deploy_version = config_opt["deploy_version"]
    total, fail = load_json(config_opt["file"])
    payload = {'deploy_version': deploy_version, 'total': total, 'fail': fail}
    result = rest_post(payload)
    print result

if __name__ == "__main__":
    main()

最新文章

  1. 在WCF数据访问中使用缓存提高Winform字段中文显示速度
  2. Liunx-https-java.lang.NoClassDefFoundError: javax/crypto/SunJCE_b
  3. 鸟哥的linux私房菜学习记录之认识系统服务(daemons)
  4. layer.js定制弹窗
  5. 微软自带报表rdlc操作(合并同数据项)
  6. 视频捕捉全教程(vc+vfw)
  7. [Linux]命令行模式切换
  8. bootstrap学习--什么是bootstrap
  9. Delphi default属性
  10. hdu 4090 GemAnd Prince
  11. Android 纯代码加入点击效果
  12. mysql5.6 online ddl—索引
  13. c编译步骤
  14. hibernate-第一章-基础
  15. (转)CSS3之pointer-events(屏蔽鼠标事件)属性说明
  16. linux移植常见问题
  17. ssh远程端口转发
  18. 〖Linux〗Linux的smb地址转换Windows格式(两者互转)
  19. JavaScript设置粘贴板
  20. Rsync+Inotify实现文件自动同步

热门文章

  1. [Apple开发者帐户帮助]八、管理档案(4)
  2. JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?
  3. 解决Sublime Text 3 的 Package Control 启动失败问题
  4. Spring实例化bean之后的处理, 关于BeanPostProcessor接口的使用
  5. flask 初始
  6. PHP网站 通过js方式判断是否是手机访问,若是 跳转到手机版网址!
  7. 313 Super Ugly Number 超级丑数
  8. enc28j60网卡驱动模块添加进linux内核,Kconfig,Makefile配置过程
  9. cmd 切换目录和配置环境变量
  10. win10 打开chm文件内容空白如何解决