中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現超市掃碼儀計費

發布時間:2020-10-19 23:53:55 來源:腳本之家 閱讀:157 作者:_從未止步 欄目:開發技術

python實現超市掃碼儀計費的程序主要是使用超市掃碼儀掃商品的條形碼,讀取商品信息,實現計費功能。主要用到的技術是串口通信,數據庫的操作,需要的環境包括:python環境,mysql,python庫(serial,MySQLdb)等等。

這個程序的主要過程是:使用掃碼儀掃描商品條形碼,通過串口通信獲取商品條形碼,通過該條形碼獲取商品信息,顯示該商品信息并統計總費用。其中商品信息保存在數據庫中,可事先導入或者手動導入商品信息,而我的在這里是事先導入的(也可以邊掃邊倒入信息),導入到數據庫中的信息如下:

python實現超市掃碼儀計費

程序代碼如下:

#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,所以代碼規范上做的還不是很好,希望大家多多指出,最后程序的運行如下:

python實現超市掃碼儀計費

其中我的程序中可以使用中文(剛剛開始不是顯示?就是顯示亂碼),這個問題我在前面的博客中談論過,需要處理數據庫以及從數據庫讀取的數據的編碼方式。若是大家看出什么錯誤或是有意見的話,歡飲大家留言。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 寻乌县| 绵阳市| 遂昌县| 泌阳县| 乳山市| 正定县| 武安市| 会同县| 南投县| 公安县| 温泉县| 修水县| 探索| 岳西县| 三原县| 手游| 抚州市| 高密市| 宣化县| 曲阳县| 定襄县| 新源县| 泸西县| 察雅县| 饶平县| 衡阳市| 泰兴市| 锦州市| 彭水| 麻江县| 弋阳县| 房山区| 南郑县| 珠海市| 阿荣旗| 开阳县| 余江县| 洪雅县| 正蓝旗| 宁陵县|