最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實時監(jiān)控cpu小工具

 更新時間:2018年06月21日 11:20:09   作者:Cloud_Huan  
這篇文章主要為大家詳細介紹了python實時監(jiān)控cpu的小工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python實時監(jiān)控cpu的工具,供大家參考,具體內容如下

雖然寫的很不完善,但是當練手吧,對于實時監(jiān)控cpu還是有點用處的,雖然android studio已經(jīng)提供了一樣的功能,但是能夠記錄并生成成本地csv文件還是比as多一個功能的。

結果圖:

直接放源碼:

# !_*_coding:utf-8_*_

import re
import os
import wx
import thread
import pychartdir
import csv

class GetCpuStats():

  def __init__(self, name):
    self.pro_name = name

  def startWatch(self):
    _shell = 'adb shell top -s cpu -n 1| findstr %s' % self.pro_name
    result = os.popen(_shell).read()
    return self.getInfo(result)

  def getInfo(self, _result):
    return [re.findall('(\d+)%', _result), re.findall('K\s(\d+)K', _result)]

class MyFrame(wx.Frame):

  flag = False
  _label = []
  _data = []
  _label02 = []
  _data02 = []
  num = 0
  num02 = 0

  def __init__(self):
    wx.Frame.__init__(self, parent=None, title=u'cpu檢測小工具', pos=(700, 100), size=(500, 500))
    mPanel = wx.Panel(parent=self)
    mSizer = wx.BoxSizer(orient=wx.VERTICAL)
    btn_start = wx.Button(parent=mPanel, label=u'開始', style=wx.EXPAND)
    mSizer.Add(btn_start)
    btn_stop = wx.Button(parent=mPanel, label=u'停止', style=wx.EXPAND)
    mSizer.Add(btn_stop)
    self.edit = wx.TextCtrl(parent=mPanel,style=wx.EXPAND,value=u'這里輸入測試的包名')
    mSizer.Add(self.edit,flag=wx.EXPAND)
    self.edit.Bind(event=wx.EVT_CHOICE, handler=self.requestFocus)
    self.bitmap_cpu = wx.StaticBitmap(parent=mPanel)
    mSizer.Add(self.bitmap_cpu, flag=wx.EXPAND) 
    #self.bitmap_mem = wx.StaticBitmap(parent=mPanel)
    #mSizer.Add(self.bitmap_mem, flag=wx.EXPAND)   
    mPanel.SetSizer(mSizer)
    mPanel.Fit()
    btn_start.Bind(event=wx.EVT_BUTTON, handler=self.startWatch)
    btn_stop.Bind(event=wx.EVT_BUTTON, handler=self.stopWatch)

  def requestFocus(self,event):
    self.edit.SetValue("")

  def startWatch(self, event): 
    self.flag = True
    thread.start_new_thread(self.getInfo, ())

  def stopWatch(self, event):
    self.flag = False

  def getInfo(self):
    while(self.flag):
      _result = GetCpuStats(self.edit.GetValue()).startWatch()
      self.drawPic(_result)
      #self.drawPic_mem(_result)

  def writeCsv(self, _list):
    writer = csv.writer(file('tmp.csv', 'a+'))
    writer.writerow([_list])

  def drawPic(self,_list):
    self.num+=1
    self._label.append(str(self.num))
    self._data.append(_list[0][0])
    self.writeCsv(_list[0][0])
    c = pychartdir.XYChart(500, 400)
    c.setPlotArea(30, 20, 400, 300)
    c.addLineLayer(self._data)
    c.xAxis().setLabels(self._label)
    c.makeChart("tmp.png")
    mImage = wx.Image("tmp.png")
    mImage = mImage.Scale(500,300)
    self.bitmap_cpu.SetBitmap(wx.BitmapFromImage(mImage))

  def drawPic_mem(self,_list):
    self.num02+=1
    self._label02.append(str(self.num02))
    self._data02.append(_list[1][0])
    c = pychartdir.XYChart(500, 400)
    c.setPlotArea(60, 40, 400, 300)
    c.addLineLayer(self._data02)
    c.xAxis().setLabels(self._label02)
    c.makeChart("tmp02.png")
    mImage = wx.Image("tmp02.png")
    mImage = mImage.Scale(500,300)
    self.bitmap_mem.SetBitmap(wx.BitmapFromImage(mImage))

if __name__ == '__main__':
  app = wx.App()
  MyFrame().Show()
  app.MainLoop()

原理:

界面用wx做的,圖形用pychartdir做的,命令用的是top命令,每次截取到的數(shù)據(jù)都生成一張臨時圖片,然后刷新到屏幕上,看起來就是實時數(shù)據(jù)監(jiān)控的效果了,基本上BUG一大堆,也懶得改了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python通過索引遍歷列表的方法

    python通過索引遍歷列表的方法

    這篇文章主要介紹了python通過索引遍歷列表的方法,實例分析了Python遍歷列表的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • python模擬表單提交登錄圖書館

    python模擬表單提交登錄圖書館

    這篇文章主要為大家詳細介紹了python模擬表單提交登錄圖書館的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python之如何復制excel模板并保留表格樣式

    python之如何復制excel模板并保留表格樣式

    這篇文章主要介紹了python之如何復制excel模板并保留表格樣式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • pytorch實現(xiàn)seq2seq時對loss進行mask的方式

    pytorch實現(xiàn)seq2seq時對loss進行mask的方式

    今天小編就為大家分享一篇pytorch實現(xiàn)seq2seq時對loss進行mask的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中拆分字符串的操作方法

    Python中拆分字符串的操作方法

    這篇文章主要介紹了Python中拆分字符串的操作方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python selenium如何設置等待時間

    Python selenium如何設置等待時間

    這篇文章主要為大家詳細介紹了Python selenium如何設置等待時間,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Python編程之gui程序實現(xiàn)簡單文件瀏覽器代碼

    Python編程之gui程序實現(xiàn)簡單文件瀏覽器代碼

    這篇文章主要介紹了Python編程之gui程序實現(xiàn)簡單文件瀏覽器代碼,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python 實現(xiàn)交換矩陣的行示例

    Python 實現(xiàn)交換矩陣的行示例

    今天小編就為大家分享一篇Python 實現(xiàn)交換矩陣的行示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Ranorex通過Python將報告發(fā)送到郵箱的方法

    Ranorex通過Python將報告發(fā)送到郵箱的方法

    這篇文章主要介紹了Ranorex通過Python將報告發(fā)送到郵箱的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Python 基礎教程之包和類的用法

    Python 基礎教程之包和類的用法

    這篇文章主要介紹了Python 基礎教程之包和類的用法的相關資料,需要的朋友可以參考下
    2017-02-02

最新評論

乌拉特后旗| 莎车县| 清流县| 宣化县| 吉木乃县| 石景山区| 吉木乃县| 金秀| 吴桥县| 宽甸| 龙州县| 乌审旗| 行唐县| 迁安市| 修水县| 喜德县| 南靖县| 武鸣县| 江北区| 商洛市| 沿河| 调兵山市| 商都县| 航空| 嵊州市| 古田县| 吉安县| 宜兴市| 酒泉市| 若尔盖县| 玉环县| 前郭尔| 库尔勒市| 如东县| 祥云县| 博兴县| 新营市| 利川市| 金寨县| 增城市| 和硕县|