python小知识

  1. pyqt5中时间插件

    • 获取当前时间QDateTime.currentDateTime(),当然也可以用datetime
      
  2. 获取当前主机性能状态的模块

    ​ 1.psutil模块

    ​ 2.psutil.boot_time()可以获取到当前电脑的启动时间点

    ​ 3.psutil.virtual_memory() 可以去获取到当前主机的内存信息

  3. 获取网络相关的模块

    1. ping3模块

    2. ping3模块的ping()函数可以对指定IP发起ping请求,并返回延迟时间,数据类型为float,相应可以转换为ms

  4. zmq的使用

    • client端

      import zmq
      from zmq.backend.cython.constants import SUBSCRIBE, SUB
      # 创建上下文
      context = zmp.Context()
      # 创建套接字及模式选择
      socket = context.socket(SUB)
      socket.connect('ip & port')
      # 设置过滤器
      socket.setsockopt_string(SUBSCRIBE, '')
      print('connected')
      while True:
          print(socket.recv_pyobj())
          time.sleep(1)
      
    • server端

      import zmq
      import time
      from zmq.backend.cython.constants import PUB
      context = zmq.Context()
      socket = context.socket(PUB)
      print('connecting')
      socket.bind('tcp://127.0.0.1:10086')
      print('connected')
      while True:
          socket.send_pyobj('你好啊')
          time.sleep(1)
      
  5. 视频流的处理

    • 获取视频流并发送

      from imutils.video import VideoStream
      from collections import deque 
      获取网络摄像头的地址、账号、密码,实例化视频流对象camera = VideoStream(cam_url)
      获取每一帧图片:img = camera.read()
      采用队列进行传输deque().append(img)
      
    • 接受视频流发送过来的图像帧

      from collections import deque
      import cv2
      使用相同的队列收取图片信息
      img = deque().popleft()
      原帧图片被cv2处理后生成新数据
      color_swapped_image = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
      在QT中的QImage进行渲染
      self.img = QtGui.QImage(color_swapped_image.data, width, height, color_swapped_image.strides[0],
                                        QtGui.QImage.Format_RGB888).scaled(self.width, self.height)
      然后执行self.repaint()进行页面重画
      
  6. 获取主机显示器的分辨率

    import ctypes
    user32 = ctypes.windll.user32
    screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
    
原文地址:https://www.cnblogs.com/zepc007/p/11239264.html