python小知識

  • pyqt5中時間插件

    • 獲取當前時間QDateTime.currentDateTime(),當然也可以用datetime
  • 獲取當前主機性能狀態的模塊

    ​ 1.psutil模塊

    ​ 2.psutil.boot_time()可以獲取到當前電腦的啓動時間點

    ​ 3.psutil.virtual_memory() 可以去獲取到當前主機的內存信息

  • 獲取網絡相關的模塊

    1. ping3模塊

    2. ping3模塊的ping()函數可以對指定IP發起ping請求,並返回延遲時間,數據類型爲float,相應可以轉換爲ms

  • 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)
  • 視頻流的處理
    • 獲取視頻流併發送

      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()進行頁面重畫
  • 獲取主機顯示器的分辨率

    import ctypes
    user32 = ctypes.windll.user32
    screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章