如何使用变量生成带有python条形码的条形码
我正在尝试使用python条形码()生成条形码。我设法生成一个条形码并保存为png,如下所示:如何使用变量生成带有python条形码的条形码,python,barcode,Python,Barcode,我正在尝试使用python条形码()生成条形码。我设法生成一个条形码并保存为png,如下所示: import barcode from barcode.writer import ImageWriter EAN = barcode.get_barcode_class('ean13') ean = EAN(u'5901234123457', writer=ImageWriter()) fullname = ean.save('barcode') 但是,如果我尝试使用变量中的值,它将不起作用:
import barcode
from barcode.writer import ImageWriter
EAN = barcode.get_barcode_class('ean13')
ean = EAN(u'5901234123457', writer=ImageWriter())
fullname = ean.save('barcode')
但是,如果我尝试使用变量中的值,它将不起作用:
import barcode
from barcode.writer import ImageWriter
number = 5901234123457
EAN = barcode.get_barcode_class('ean13')
ean = EAN(number, writer=ImageWriter())
fullname = ean.save('barcode')
然后我得到
TypeError: 'int' object is not subscriptable
我可能犯了一些愚蠢的错误,但我对这个很陌生…:/ 条形码模块仅接受字符串作为输入,然后应将该整数设置为字符串:
import barcode
from barcode.writer import ImageWriter
number = 5901234123457
number = str(number)
EAN = barcode.get_barcode_class('ean13')
ean = EAN(number, writer=ImageWriter())
fullname = ean.save('barcode')
from processing import *
from random import randint
def decimalToBinary(x):
#This function converts a Decimal into a Binary
#It generates a nibble (4 digits binary number)
binaryNumber=bin(x)[2:]
return (4-len(binaryNumber)) * "0" + binaryNumber
def drawBarCode(height):
#Generates a 13-digit bar code.
marginLeft=30
marginTop=40
for i in range(1,14):
digit=randint(0,9)
nibble=decimalToBinary(digit)
for j in range(0,4):
if nibble[j:j+1]=="1":
fill(0,0,0)
stroke(0,0,0)
else:
fill(255,255,255)
stroke(255,255,255)
rect(marginLeft+i*8+2*j, marginTop, 2, height)
#Display the digit in Decimal
fill(0,0,0)
stroke(0,0,0)
#textSize(10)
text(digit,marginLeft+i*8,marginTop+20+height)
def setup():
strokeWeight(12)
size(200,200)
background(255,255,255)
fill(0,0,0)
stroke(0,0,0)
drawBarCode(80)
run()