欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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è)查詢(xún)結(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()

出差必備

買(mǎi)火車(chē)票、高鐵票、機(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)文章

  • Python使用sigthief簽發(fā)證書(shū)的實(shí)現(xiàn)步驟

    Python使用sigthief簽發(fā)證書(shū)的實(shí)現(xiàn)步驟

    Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來(lái)防止被篡改,能確保用戶(hù)通過(guò)互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒(méi)有被非法篡改和來(lái)源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶(hù)不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書(shū)的簽發(fā)與偽造
    2021-06-06
  • 解決python運(yùn)行效率不高的問(wèn)題

    解決python運(yùn)行效率不高的問(wèn)題

    在本篇文章中小編給大家分享了關(guān)于解決python運(yùn)行效率不高的問(wèn)題,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-07-07
  • python自動(dòng)裁剪圖像代碼分享

    python自動(dòng)裁剪圖像代碼分享

    這篇文章主要介紹了python自動(dòng)裁剪圖像代碼分享,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼

    python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼

    這篇文章主要介紹了python設(shè)置檢查點(diǎn)簡(jiǎn)單實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-07-07
  • Tensorflow實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)擬合線性回歸

    Tensorflow實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)擬合線性回歸

    這篇文章主要為大家詳細(xì)介紹了Tensorflow實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)擬合線性回歸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • python?中raise用法

    python?中raise用法

    這篇文章主要介紹了python?中raise用法,Python?允許我們?cè)诔绦蛑惺謩?dòng)設(shè)置異常,就是使用raise?語(yǔ)句來(lái)實(shí)現(xiàn),下面我們就來(lái)看看raise的具體用法,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2021-12-12
  • 基于PyQt5制作一個(gè)表情包下載器

    基于PyQt5制作一個(gè)表情包下載器

    每次和朋友聊天苦于沒(méi)有表情包,而別人的表情包似乎是取之不盡、用之不竭。作為一個(gè)程序員哪能甘愿認(rèn)輸,所以本文將用Python制作一個(gè)表情包下載器供大家斗圖,需要的可以參考一下
    2022-03-03
  • 詳解Pandas中stack()和unstack()的使用技巧

    詳解Pandas中stack()和unstack()的使用技巧

    當(dāng)你在處理包含某種序列(例如時(shí)間序列數(shù)據(jù))的變量的數(shù)據(jù)集時(shí),數(shù)據(jù)通常需要進(jìn)行重塑。Pandas?提供了各種用于重塑?DataFrame?的內(nèi)置方法。其中,stack()?和?unstack()?是最流行的,本文總結(jié)了這兩個(gè)方法的7種使用技巧,需要的可以參考一下
    2022-03-03
  • 詳解pyqt5 動(dòng)畫(huà)在QThread線程中無(wú)法運(yùn)行問(wèn)題

    詳解pyqt5 動(dòng)畫(huà)在QThread線程中無(wú)法運(yùn)行問(wèn)題

    這篇文章主要介紹了詳解pyqt5 動(dòng)畫(huà)在QThread線程中無(wú)法運(yùn)行問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 利用Python如何批量修改數(shù)據(jù)庫(kù)執(zhí)行Sql文件

    利用Python如何批量修改數(shù)據(jù)庫(kù)執(zhí)行Sql文件

    這篇文章主要給大家介紹了關(guān)于利用Python如何批量修改數(shù)據(jù)庫(kù)執(zhí)行Sql文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07

最新評(píng)論