亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python實現(xiàn)超市掃碼儀計費

 更新時間:2022年06月02日 13:47:14   作者:_從未止步  
這篇文章主要為大家詳細介紹了python實現(xiàn)超市掃碼儀計費,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

程序代碼如下:

#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] #最后面有一個空格,需要去掉,否則會影響讀數(shù)據(jù)庫 
 print data 
 ret = 0.0 
 try: 
  cur = db.cursor() 
  sql="set names utf8" #這一條語句是告訴數(shù)據(jù)庫編碼方式為 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肯定是不行的,需要轉(zhuǎn)化為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,所以代碼規(guī)范上做的還不是很好,希望大家多多指出,最后程序的運行如下:

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python+mongodb數(shù)據(jù)抓取詳細介紹

    python+mongodb數(shù)據(jù)抓取詳細介紹

    這篇文章主要介紹了python+mongodb數(shù)據(jù)抓取詳細介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 基于django micro搭建網(wǎng)站實現(xiàn)加水印功能

    基于django micro搭建網(wǎng)站實現(xiàn)加水印功能

    這篇文章主要介紹了基于django micro搭建網(wǎng)站實現(xiàn)加水印功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • 詳解pyqt中解決國際化tr()函數(shù)不起作用的問題

    詳解pyqt中解決國際化tr()函數(shù)不起作用的問題

    本文主要介紹了pyqt中解決國際化tr()函數(shù)不起作用的問題,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 使用python實現(xiàn)tcp自動重連

    使用python實現(xiàn)tcp自動重連

    下面小編就為大家?guī)硪黄褂胮ython實現(xiàn)tcp自動重連實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。
    2017-07-07
  • Python如何使用Gitlab API實現(xiàn)批量的合并分支

    Python如何使用Gitlab API實現(xiàn)批量的合并分支

    這篇文章主要介紹了Python如何使用Gitlab API實現(xiàn)批量的合并分支,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python獲取SQLite查詢結(jié)果表列名的方法

    Python獲取SQLite查詢結(jié)果表列名的方法

    這篇文章主要介紹了Python獲取SQLite查詢結(jié)果表列名的方法,涉及Python連接及查詢SQLite數(shù)據(jù)庫的相關操作技巧,需要的朋友可以參考下
    2017-06-06
  • Python之串口收發(fā)的異步程序

    Python之串口收發(fā)的異步程序

    這篇文章主要介紹了Python之串口收發(fā)的異步程序,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python基礎學習之遞歸函數(shù)知識總結(jié)

    python基礎學習之遞歸函數(shù)知識總結(jié)

    在函數(shù)中調(diào)用函數(shù)自身,我們把這樣的函數(shù)叫做遞歸函數(shù), 遞歸函數(shù)就是循環(huán)的調(diào)用,類似于俄羅斯套娃,本文給各位小伙伴詳細介紹了python遞歸函數(shù),需要的朋友可以參考下
    2021-05-05
  • Python語言實現(xiàn)科學計算器

    Python語言實現(xiàn)科學計算器

    這篇文章主要為大家詳細介紹了Python語言實現(xiàn)科學計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python的re正則表達式實例代碼

    python的re正則表達式實例代碼

    這篇文章主要介紹了python的re正則表達式,分享了一則re模塊實現(xiàn)的正則表達式實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論