python实现超市扫码仪计费的程序主要是使用超市扫码仪扫商品的条形码,读取商品信息,实现计费功能。主要用到的技术是串口通信,数据库的操作,需要的环境包括:python环境,mysql,python库(serial,MySQLdb)等等。
这个程序的主要过程是:使用扫码仪扫描商品条形码,通过串口通信获取商品条形码,通过该条形码获取商品信息,显示该商品信息并统计总费用。其中商品信息保存在数据库中,可事先导入或者手动导入商品信息,而我的在这里是事先导入的(也可以边扫边倒入信息),导入到数据库中的信息如下:
程序代码如下:
#coding:utf8 import serial import MySQLdb ser = serial.Serial('COM5',9600) #获取一行信息 def recv(serial): data = '' while serial.inWaiting() > 0: data += serial.read(1) return data def GetInfo(db,data): data = data[0:-1] #最后面有一个空格,需要去掉,否则会影响读数据库 print data ret = 0.0 try: cur = db.cursor() sql="set names utf8" #这一条语句是告诉数据库编码方式为 utf8 cur.execute(sql) sql = "select * from productinfo where code=%s"%(data) #print sql cur.execute(sql) #sql = "select * from productinfo where(code=%s)" #cur.execute(sql,data) results = cur.fetchall() #print results for row in results: code = row[0] #print code price = row[1] #print price info = row[2] #print info ret = price #解析出来的信息可能为中文,直接print肯定是不行的,需要转化为windows下的GBK编码 print 'coding=',row[0],'price=',row[1],'info=',info.decode('UTF-8').encode('GBK') except: print 'it has no infomation about %s'%(data) return ret db = MySQLdb.connect('localhost','root','',"zou",3306,'utf8') cursor = db.cursor() #cursor.execute("DROP TABLE IF EXISTS productinfo") ''''' sql="""CREATE TABLE productinfo( code CHAR(18), price double(9,2), info CHAR(25))""" cursor.execute(sql) ''' sum = 0.0 while True: data = recv(ser) if data != '': #print data sum += GetInfo(db,data) print '总付款:',sum db.close() ser.close()
由于刚刚开始学习python,所以代码规范上做的还不是很好,希望大家多多指出,最后程序的运行如下:
其中我的程序中可以使用中文(刚刚开始不是显示?就是显示乱码),这个问题我在前面的博客中谈论过,需要处理数据库以及从数据库读取的数据的编码方式。若是大家看出什么错误或是有意见的话,欢饮大家留言。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE