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

Python基于Tkinter編寫(xiě)crc校驗(yàn)工具

 更新時(shí)間:2020年05月06日 08:53:21   作者:無(wú)敵大灰狼me  
這篇文章主要介紹了Python基于Tkinter編寫(xiě)crc校驗(yàn)工具,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本篇文章,完全是用來(lái)記錄代碼用的,目的是使用Python,基于Tkinter編寫(xiě)crc校驗(yàn)工具。

# -*- coding: utf-8 -*-
import Tkinter
import tkFileDialog
WIDTH = 16
TOPBIT = (1 << (WIDTH - 1))
crcTable = {}
class FindLocation(object):
  def __init__(self):
    #創(chuàng)建主窗口,用于容納其它組件
    self.root = Tkinter.Tk()
    #給主窗口設(shè)置標(biāo)題內(nèi)容
    self.root.title("獲取bin文件的crc校驗(yàn)碼")
    #創(chuàng)建一個(gè)輸入框,并設(shè)置尺寸
    self.default_value = Tkinter.StringVar()
    self.default_value.set('請(qǐng)輸入bin文件全路徑')
    self.ip_input = Tkinter.Entry(self.root,width=30,textvariable = self.default_value)
    #創(chuàng)建一個(gè)回顯列表
    self.display_info = Tkinter.Listbox(self.root,width=50)
    #創(chuàng)建一個(gè)搜索文件的按鈕
    self.getPath_button = Tkinter.Button(self.root,command = self.getPath,text = "獲取文件")
    #創(chuàng)建一個(gè)查詢結(jié)果的按鈕
    self.result_button = Tkinter.Button(self.root,command = self.crcFast,text = "獲取校驗(yàn)碼")
  def gui_arrang(self):
    self.ip_input.pack()
    self.display_info.pack()
    self.getPath_button.pack()
    self.result_button.pack()
  def getPath(self):
    self.fname = tkFileDialog.askopenfilename()
    self.default_value.set(self.fname)
  def crcInit(self):
    SHIFT = WIDTH - 8
    for step in range(0,256):
      remainder = step << SHIFT
      for bit in range(8,0,-1):
        if remainder & TOPBIT:
          remainder = ((remainder << 1) & 0xFFFF) ^0x1021
        else:
          remainder = remainder <<1
      crcTable[step]=remainder
      #print("%x"%remainder)
  def crc16(self,cCRC,szData,rLen):
    for len in range(rLen):
      data = (cCRC >> 8) ^ ord(szData[len])
      cCRC = crcTable[data] ^ (cCRC << 8) & 0xFFFF
    return cCRC
  def crcFast(self):
    filePath = self.ip_input.get()
    tLen = 0
    rLen = 0
    szData = 0
    cCRC = 0
    self.crcInit()
    fp = open(filePath,'rb')
    fp.seek(0,2)
    iFileLen = fp.tell()
    fp.seek(0,0)
    while True:
      if (iFileLen - tLen) < 8192:
        rLen = iFileLen - tLen
      else:
        rLen = 8192
      szData = fp.read(rLen)
      cCRC = self.crc16(cCRC,szData,rLen)
      tLen += rLen
      if tLen >= iFileLen:
        break
    print "crc is %x\n" % cCRC
    fp.close()
    self.display_info.insert(0,"%x"%cCRC)
    self.display_info.insert(0,"this bin crc is :")  
def main():
  #初始化對(duì)象
  FL = FindLocation()
  #進(jìn)行布局
  FL.gui_arrang()
  #主程序執(zhí)行
  Tkinter.mainloop()
if __name__ == '__main__':
  main()

出差必備

買火車票、高鐵票、機(jī)票,訂酒店都打9折的出行工具TRIP,點(diǎn)擊注冊(cè)

到此這篇關(guān)于Python基于Tkinter編寫(xiě)crc校驗(yàn)工具的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)crc校驗(yàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV連通域數(shù)量統(tǒng)計(jì)學(xué)習(xí)示例

    OpenCV連通域數(shù)量統(tǒng)計(jì)學(xué)習(xí)示例

    這篇文章主要為大家介紹了OpenCV連通域數(shù)量統(tǒng)計(jì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python模塊future用法原理詳解

    Python模塊future用法原理詳解

    這篇文章主要介紹了Python模塊future用法原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python去除擴(kuò)展名的實(shí)例講解

    python去除擴(kuò)展名的實(shí)例講解

    下面小編就為大家分享一篇python去除擴(kuò)展名的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python學(xué)習(xí)之裝飾器與類的裝飾器詳解

    Python學(xué)習(xí)之裝飾器與類的裝飾器詳解

    這篇文章通過(guò)示例詳細(xì)為大家介紹了Python中的裝飾器以及類的裝飾器。通過(guò)學(xué)習(xí)裝飾器可以讓我們更好更靈活的使用函數(shù),還可以讓我們的代碼更加優(yōu)雅,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼

    python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼

    今天小編就為大家分享一篇python-opencv獲取二值圖像輪廓及中心點(diǎn)坐標(biāo)的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 一小時(shí)學(xué)會(huì)TensorFlow2之自定義層

    一小時(shí)學(xué)會(huì)TensorFlow2之自定義層

    這篇文章主要介紹了TensorFlow2之自定義層,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 基于numpy.random.randn()與rand()的區(qū)別詳解

    基于numpy.random.randn()與rand()的區(qū)別詳解

    下面小編就為大家分享一篇基于numpy.random.randn()與rand()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python字典中的值求和兩種方法

    Python字典中的值求和兩種方法

    在Python中字典是一種無(wú)序的數(shù)據(jù)結(jié)構(gòu),它由一系列鍵和對(duì)應(yīng)的值組成,有時(shí)候我們需要對(duì)字典中的鍵對(duì)應(yīng)的值進(jìn)行求和操作,這篇文章主要給大家介紹了關(guān)于Python字典中值求和兩種方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Python包管理工具pip用法詳解

    Python包管理工具pip用法詳解

    本文詳細(xì)講解了Python包管理工具pip的用法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • python保存大型 .mat 數(shù)據(jù)文件報(bào)錯(cuò)超出 IO 限制的操作

    python保存大型 .mat 數(shù)據(jù)文件報(bào)錯(cuò)超出 IO 限制的操作

    這篇文章主要介紹了python保存大型 .mat 數(shù)據(jù)文件報(bào)錯(cuò)超出 IO 限制的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05

最新評(píng)論

彰化市| 大方县| 龙里县| 宜兴市| 溆浦县| 阿坝县| 正蓝旗| 象州县| 岑溪市| 礼泉县| 溆浦县| 东阳市| 罗平县| 葫芦岛市| 敦化市| 佳木斯市| 吉木萨尔县| 石台县| 红原县| 教育| 信丰县| 景泰县| 云龙县| 黄浦区| 新闻| 彰武县| 抚顺县| 凤台县| 防城港市| 温宿县| 芒康县| 武胜县| 安龙县| 华蓥市| 苍山县| 吉安市| 北宁市| 通海县| 东兴市| 嵊州市| 承德市|