python實現超市掃碼儀計費

2022-10-04 19:33:11 字數 2228 閱讀 5844

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 服務...