PythonはTkinterに基づいてcrc検査ツールを編纂します。


この文章は完全にコードを記録するためのもので、目的はPythonを使用して、Tkinterに基づいてcrc検査ツールを作成することです。

# -*- coding: utf-8 -*-
import Tkinter
import tkFileDialog
WIDTH = 16
TOPBIT = (1 << (WIDTH - 1))
crcTable = {}
class FindLocation(object):
  def __init__(self):
    #     ,        
    self.root = Tkinter.Tk()
    #          
    self.root.title("  bin   crc   ")
    #       ,     
    self.default_value = Tkinter.StringVar()
    self.default_value.set('   bin     ')
    self.ip_input = Tkinter.Entry(self.root,width=30,textvariable = self.default_value)
    #        
    self.display_info = Tkinter.Listbox(self.root,width=50)
    #           
    self.getPath_button = Tkinter.Button(self.root,command = self.getPath,text = "    ")
    #           
    self.result_button = Tkinter.Button(self.root,command = self.crcFast,text = "     ")
  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
" % cCRC fp.close() self.display_info.insert(0,"%x"%cCRC) self.display_info.insert(0,"this bin crc is :") def main(): # FL = FindLocation() # FL.gui_arrang() # Tkinter.mainloop() if __name__ == '__main__': main()
出張に必要なもの
列車の切符、高速鉄道のチケット、航空券を買って、ホテルを予約してすべて10%の旅に出るツールTRIPを打って、クリックして登録します
ここでPythonについては、Tkinterに基づいてcrc検証ツールを作成する文章を紹介します。これに関連して、Pythonがcrc検査内容を実現するために、以前の文章を検索したり、下記の関連記事を引き続き閲覧したりしてください。これからもよろしくお願いします。