zoukankan      html  css  js  c++  java
  • python自动化模块之实践一

    1、探测Web服务质量方法:

    python版本3.5.2,pycurl版本:pycurl-7.43.0.win-amd64-py3.5

    # -*- coding: utf-8 -*-
    import os, sys
    import time
    import sys
    import pycurl
    
    URL = "http://www.baidu.com"   #探测的目标URL
    c = pycurl.Curl()              #创建一个Curl对象
    c.setopt(pycurl.URL, URL)      #定义请求的URL常量
    c.setopt(pycurl.CONNECTTIMEOUT, 5) #定义请求连接的等待时间
    c.setopt(pycurl.TIMEOUT, 5)        #定义请求超时时间
    c.setopt(pycurl.FORBID_REUSE, 1)   #屏蔽下载进度条
    c.setopt(pycurl.MAXREDIRS, 1)      #完成交互后强制断开连接,不重用
    c.setopt(pycurl.NOPROGRESS, 1)     #指定HTTP重定向的最大数为1
    c.setopt(pycurl.DNS_CACHE_TIMEOUT, 30) #设置保存DNS信息的时间为30秒
    #创建一个文件对象,以"wb"方式打开,用来存储返回的http头部及页面内容 indexfile = open(os.path.dirname(os.path.realpath(__file__)) + "/content.txt", "wb") c.setopt(pycurl.WRITEHEADER, indexfile) #将返回的HTTP HEADER定向到indexfile文件对象 c.setopt(pycurl.WRITEDATA, indexfile) #将返回的HTML内容定向到indexfile文件对象 try: c.perform() #提交请求 except Exception as e: print("connecion error:" + str(e)) indexfile.close() c.close() sys.exit() NAMELOOKUP_TIME = c.getinfo(c.NAMELOOKUP_TIME) #获取DNS解析时间 CONNECT_TIME = c.getinfo(c.CONNECT_TIME) #获取建立连接时间 PRETRANSFER_TIME = c.getinfo(c.PRETRANSFER_TIME) #获取从建立连接时间到准备传输所消耗的时间 STARTTRANSFER_TIME = c.getinfo(c.STARTTRANSFER_TIME) #获取从建立连接时间到传输开始消耗的时间 TOTAL_TIME = c.getinfo(c.TOTAL_TIME) #获取传输的总时间 HTTP_CODE = c.getinfo(c.HTTP_CODE) #获取HTTP状态码 SIZE_DOWNLOAD = c.getinfo(c.SIZE_DOWNLOAD) #获取下载数据包大小 HEADER_SIZE = c.getinfo(c.HEADER_SIZE) #获取HTTP头部大小 SPEED_DOWNLOAD = c.getinfo(c.SPEED_DOWNLOAD) #获取平均下载速度 print("HTTP状态码:%s" % (HTTP_CODE)) print("DNS解析时间:%.2f ms" % (NAMELOOKUP_TIME * 1000)) print("建立连接时间:%.2f ms" % (CONNECT_TIME * 1000)) print("准备传输时间:%.2f ms" % (PRETRANSFER_TIME * 1000)) print("传输开始时间:%.2f ms" % (STARTTRANSFER_TIME * 1000)) print("传输结束总时间:%.2f ms" % (TOTAL_TIME * 1000)) print("下载数据包大小:%d bytes/s" % (SIZE_DOWNLOAD)) print("HTTP头部大小:%d byte" % (HEADER_SIZE)) print("平均下载速度:%d bytes/s" % (SPEED_DOWNLOAD)) indexfile.close() c.close()

     运行结果:HTTP状态码:200

               DNS解析时间:16.00 ms

           建立连接时间:47.00 ms

           准备传输时间:47.00 ms

           传输开始时间:109.00 ms

           传输结束总时间:219.00 ms

           下载数据包大小:102198 bytes/s

           HTTP头部大小:989 byte

           平均下载速度:466657 bytes/s

     2、pip和easy-install使用来下载python相关扩展资源包的,用cmd进入到下载好的pip(pip-9.0.1)和easy_install(ez_setup-0.9)文件夹下面,使用python setup.exe install 进行安装,64位操作系统的话easy_install使用python ez_setup.py install 进行安装,安装好后会在python3.5(我使用的是python3.5.2版本)文件下面的Scripts文件夹生成相应文件,然后在cmd中进入Scripts下面就可以使用了,比如要安装xlsxwriter模块,只需要执行pip install xlsxwriter或easy_install xlsxwriter就可以了,截图如下:

    easy_install(ez_setup-0.9)下载地址:https://pypi.python.org/pypi/ez_setup/0.9   pip下载地址:https://pypi.python.org/pypi/pip/9.0.1

    3、xlsxwriter模块功能演示

    #!/usr/bin/env python3
    # coding: utf-8
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook('demo.xlsx') #创建一个excel文件
    worksheet = workbook.add_worksheet()  # 创建一个工作表对象.
    worksheet.set_column('A:A', 20)      # 设定第一个列A宽度为20像素
    bold = workbook.add_format()          #定义一个加粗的格式对象
    bold.set_bold()
    worksheet.write('A1', 'Hello')       #A1单元格写入"hello"
    worksheet.write('A2', 'World', bold) #在A2单元格写入"world"并引用加粗格式对象bold
    worksheet.write('B2', u'中文测试', bold) #在B2单元格写入“中文测试”并引用加粗格式对象bold
    worksheet.write(2, 0, 32)   #用行列表示法写入数字'32'与'35.5'
    worksheet.write(3, 0, 35.5) #行列表示法的单元格下标以0作为起始值,'3,0'等价于'A3'
    worksheet.write(4, 0, '=SUM(A3:A4)') #求A3:A4的和,并将结果写入'4,0',即'A5'
    #worksheet.insert_image('B5', 'img/python-logo.png') #  在B5单元格插入图片
    workbook.close()
    

     输入结果如下图:

    4、

  • 相关阅读:
    Google 面试准备清单
    Two sorted array. Find kth smallest element, 要求O(logK)
    MVC(demo)
    UE4学习心得:Scene Component蓝图的一个简单应用
    UE4中如何使物体始终朝向摄像头?
    响应式Web设计
    Nodejs的express使用教程
    安装express遇到的问题
    致自己
    上传文件的方法
  • 原文地址:https://www.cnblogs.com/yunv724/p/6274618.html
Copyright © 2011-2022 走看看