• 第三方模块


    一.Pillow

    处理图像模块

    如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:

    $ pip install pillow
    

      

    1.生成缩略图:

    from PIL import Image
    
    # 打开一个jpg图像文件,注意是当前路径:
    im = Image.open('t.jpg')
    # 获得图像尺寸:
    w, h = im.size
    print('Original image size: %sx%s' % (w, h))
    # 缩放到50%:
    im.thumbnail((w//2, h//2))
    print('Resize image to: %sx%s' % (w//2, h//2))
    # 把缩放后的图像用jpeg格式保存:
    im.save('thumbnail.jpg', 'jpeg')
    

      

    2.模糊效果

    from PIL import Image, ImageFilter
    
    # 打开一个jpg图像文件,注意是当前路径:
    im = Image.open('t.jpg')
    # 模糊效果
    im2 = im.filter(ImageFilter.BLUR)
    im2.save('blur.jpg', 'jpeg')
    

      

    3.生成字母验证码图片

    from PIL import Image, ImageDraw, ImageFont, ImageFilter
    
    import random
    
    # 随机字母:
    def rndChar():
        return chr(random.randint(65, 90))
    
    # 随机颜色1:
    def rndColor():
        return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
    
    # 随机颜色2:
    def rndColor2():
        return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
    
    # 240 x 60:
    width = 60 * 4
    height = 60
    image = Image.new('RGB', (width, height), (255, 255, 255))
    # 创建Font对象:
    font = ImageFont.truetype('CENTAUR.TTF', 36)
    # 创建Draw对象:
    draw = ImageDraw.Draw(image)
    # 填充每个像素:
    for x in range(width):
        for y in range(height):
            draw.point((x, y), fill=rndColor())
    # 输出文字:
    for t in range(4):
        draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
    # 模糊:
    image = image.filter(ImageFilter.BLUR)
    image.save('code.jpg', 'jpeg')
    

      

    二.requests

    处理URL资源

    1.get

    import requests
    
    # 设置cookie和超时(单位秒)
    r = requests.get('http://www.baidu.com', data = {'q': 'word'},
                     headers={'User-Agent':
                                  'Mozilla/5.0 (iPhone; '
                                  'CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'},
                     timeout = 2.5,
                     cookies={'status': '1'})
    print(r.status_code)
    # 获得string对象
    print(r.text)
    # 获得bytes对象
    print(r.content)
    # cookie
    print(r.cookies)
    

      

    2.post:

    import requests
    
    r = requests.get('http://www.baidu.com', params = {'q': 'word'},
                     headers={'User-Agent':
                                  'Mozilla/5.0 (iPhone; '
                                  'CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'})
    print(r.status_code)
    # 获得string对象
    print(r.text)
    # 获得bytes对象
    print(r.content)
    

      

    三.chardet

    检测编码

    # -*- coding:utf-8 -*-
    import chardet
    
    ch = chardet.detect('中国'.encode('utf-8'))
    print(ch)
    

      

    输出:
    {'encoding': 'utf-8', 'confidence': 0.7525, 'language': ''}

    confidence:检测正确的概率是74%

    四.psutil(process and system utilities)

    获取系统信息

    1.cpu
    import psutil
    
    # CPU逻辑数量
    print(psutil.cpu_count())
    
    # cpu 物理核心
    print(psutil.cpu_count(logical=True))
    
    # 统计CPU的用户/系统/空闲时间
    print(psutil.cpu_times())
    
    # cpu使用率
    print(psutil.cpu_percent(interval=1, percpu=True)) #percpu是否统计每个物理核心cpu
    
    2.内存
    import psutil
    
    # 物理内存(单位是字节数)
    print(psutil.virtual_memory())
    
    # 交换内存
    print(psutil.swap_memory())
    
    3.获取磁盘信息
    import psutil
    
    # 磁盘分区
    print(psutil.disk_partitions())
    
    # 磁盘使用情况
    print(psutil.disk_usage('c:/'))
    
    # 磁盘io
    print(psutil.disk_io_counters())
    
    4.获取网络信息(需要管理员权限)
    import psutil
    
    # 网络读写字节/包个数
    print(psutil.net_io_counters())
    
    # 获取网络接口信息
    print(psutil.net_if_addrs())
    
    # 获取网络接口状态
    print(psutil.net_if_stats())
    
    # 网络连接信息
    print(psutil.net_connections())
    
    5.获取进程信息(需要管理员权限)
    
    import psutil
    
    # 获取所有进程pid
    print(psutil.pids())
    
    # 获取指定进程
    p = psutil.Process(96)
    # 名称
    print(p.name())
    # 进程执行文件路径
    print(p.exe())
    # 进程工作目录
    print(p.cwd())
    # 进程启动的命令行
    print(p.cmdline())
    
    p.ppid() # 父进程ID
    p.parent() # 父进程
    p.children() # 子进程列表
    p.status() # 进程状态
    p.username() # 进程用户名
    p.create_time() # 进程创建时间
    p.terminal() # 进程终端
    p.cpu_times() # 进程使用的CPU时间
    p.memory_info() # 进程使用的内存
    p.open_files() # 进程打开的文件
    p.connections() # 进程相关网络连接
    p.num_threads() # 进程的线程数量
    p.threads() # 所有线程信息
    p.environ() # 进程环境变量
    p.terminate() # 结束进程
    
    模拟ps:
    import psutil
    
    psutil.test()
    

      

  • 相关阅读:
    DotNet 获取所有 SQL Server 的数据库实例名称
    SQL Server 2008 R2 导出数据脚本的方法
    使用 Jquery 获取 Internet Explorer 浏览器版本
    OpenCV(EmguCV)2.1新特性介绍之图像差异StereoSGBM与设置窗口属性SetWindowProperty(StereoSGBM Of OpenCV 2.1)
    OpenCV(EmguCV)2.1新特性介绍之图像分割GrabCut(GrabCut Of OpenCV 2.1)
    背景建模与前景检测之三(Background Generation And Foreground Detection Phase 3)
    使用Lingobit Localizer汉化.net程序(Translate .net program using Lingobit Localizer)
    返修&售后服务管理网站设计与源码
    解决Windows7无法安装SP1补丁包及无法显示Windows功能列表的方法
    javascript获取到textarea文本框中的回车换行符
  • 原文地址:https://www.cnblogs.com/itfenqing/p/10275144.html
Copyright © 2020-2023  润新知