我正在尝试创建一个基于GUI的应用程序,该应用程序将在复制到卡的文件与其源之间执行CRC匹配。我使用Cygwin的PyQT4和XWindows。当我打开文件对话框浏览到复制到卡的文件时,我不会看到使用QFileDialog.getOpenFileName时可能会看到的文件系统。我看到了空白方块。我预感到这可能是因为它试图在Windows机器上访问基于Unix的文件系统。感谢您的帮助。
#!/usr/bin/env python
import zlib
import sys
from PyQt4.QtGui import *
def crc(fileName, count):
if count == 0:
return "%X"%(zlib.crc32(open(fileName,"rb").read()) & 0xFFFFFFFF)
else:
return "%X"%(zlib.crc32(open(fileName,"rb").read(count)) & 0xFFFFFFFF)
def compare(cr1, crc2):
if crc1 == crc2:
return "CRC Matched"
else :
return "CRC not Equal"
a = QApplication(sys.argv)
w = QWidget()
w.resize(320, 240)
w.setWindowTitle("CRC Check")
fileName = QFileDialog.getOpenFileName(w, 'Open File', '/')
crc1 = crc(fileName , count = 0)
print "Generated file CRC", crc1
crc2 = crc(fileName = "/dev/sdc", count = 5000000)
print "Copied file CRC", crc2
print compare(crc1, crc2)
w.show()
sys.exit(a.exec_())