python實現超市掃碼儀計費的程式主要是使用超市掃碼儀掃商品的條形碼,讀取商品資訊,實現計費功能。主要用到的技術是串列埠通訊,資料庫的操作,需要的環境包括:python環境,mysql,python庫(serial,mysqldb)等等。
這個程式的主要過程是:使用掃碼儀掃瞄商品條形碼,通過串列埠通訊獲取商品條形碼,通過該條形碼獲取商品資訊,顯示該商品資訊並統計總費用。其中商品資訊儲存在資料庫中,可事先匯入或者手動匯入商品資訊,而我的在這裡是事先匯入的(也可以邊掃邊倒入資訊),匯入到資料庫中的資訊如下:
程式**如下:
#coding:utf8
import serial
import mysqldb
ser = serial.serial('com5',9600)
#獲取一行資訊
def recv(serial):
data = ''
whil 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)
oxgooresults = 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實現超市掃碼儀計費
本文位址: /jiaoben/python/229305.html
掃碼登入的實現原理
原理解釋 接下來就是對於這個服務的詳細實現。首先,大概說一下原理 使用者開啟 的登入頁面的時候,向瀏覽器的伺服器傳送獲取登入 的請求。伺服器收到請求後,隨機生成乙個uuid,將這個id作為key值存入redis伺服器,同時設定乙個過期時間,再過期後,使用者登入 需要進行重新整理重新獲取。同時,將這個...
如何使用GoEasy實現掃碼登入
如何使用goeasy實現掃碼登入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示...
Python實現支付寶當面付之 掃碼支付
一 配置資訊準備 登入螞蟻金服開放平台 開發資料閱讀 建立好應用,配置好金鑰等資訊後,就可以開發了。二 開發支付寶支付工具類 1 相關配置資訊 支付相關配置資訊 alipay input charset utf 8 商戶id,以2088開頭的16位純數字 alipay partner 2088 服務...