真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python基于Tkinter怎么編寫crc校驗(yàn)工具-創(chuàng)新互聯(lián)

這篇文章主要講解了Python基于Tkinter怎么編寫crc校驗(yàn)工具,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站制作、衡陽(yáng)網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、衡陽(yáng)網(wǎng)絡(luò)營(yíng)銷、衡陽(yáng)企業(yè)策劃、衡陽(yáng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供衡陽(yáng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
# -*- 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()

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


本文名稱:Python基于Tkinter怎么編寫crc校驗(yàn)工具-創(chuàng)新互聯(lián)
分享路徑:http://weahome.cn/article/dejpge.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部