python使用python-barcode生成任意长度字符串的条形码(一维码)详细教程

使用python-barcode生成一维码

1.安装python包

pip install Pillow
pip install python-barcode

2.实例程序

# -*- coding: utf-8 -*-import barcode
import random
from barcode.writer import ImageWriter
import os
from PIL import Image#生成一维码的类型的种类
"""
[u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
"""#生成一维码,参数:码类型、码内容、文件名(文件名后缀自动加.png)
def barcode_to_png(barcode_type,text_str,filename):EAN = barcode.get_barcode_class(barcode_type) #设置生成一维码的类型ean = EAN(text_str, writer=ImageWriter())ean.save(filename)#8个一维码进行2*4的方式合并存成一张图,参数:码类型、文件数量
def barcode_fun(barcode_type,file_num):for i in range(8*file_num):r_num = random.randint(100000000000000, 999999999999999)barcode_to_png(barcode_type,str(r_num),'./code/'+barcode_type+'/'+str(i))if( (i+1)%8 == 0 ):base_img0 = Image.open('./code/'+barcode_type+'/'+str(i-7)+'.png')base_img1 = Image.open('./code/'+barcode_type+'/'+str(i-6)+'.png')base_img2 = Image.open('./code/'+barcode_type+'/'+str(i-5)+'.png')base_img3 = Image.open('./code/'+barcode_type+'/'+str(i-4)+'.png')base_img4 = Image.open('./code/'+barcode_type+'/'+str(i-3)+'.png')base_img5 = Image.open('./code/'+barcode_type+'/'+str(i-2)+'.png')base_img6 = Image.open('./code/'+barcode_type+'/'+str(i-1)+'.png')base_img7 = Image.open('./code/'+barcode_type+'/'+str(i)+'.png')x = base_img0.size[0]y = base_img0.size[1]target = Image.new('RGBA', (2*x,4*y), color=0)target.paste(base_img0,(0,0,x,y))target.paste(base_img1,(x,0,2*x,y))target.paste(base_img2,(0,y,x,2*y))target.paste(base_img3,(x,y,2*x,2*y))target.paste(base_img4,(0,2*y,x,3*y))target.paste(base_img5,(x,2*y,2*x,3*y))target.paste(base_img6,(0,3*y,x,4*y))target.paste(base_img7,(x,3*y,2*x,4*y))target.save('./code/'+barcode_type+'/'+barcode_type+"_"+str((i+1)/8)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-7)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-6)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-5)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-4)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-3)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-2)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i-1)+'.png')os.system("rm "+'./code/'+barcode_type+'/'+str(i)+'.png')#主函数设置需要生成码类型的目录,生成相应码。
if __name__=="__main__":os.system("mkdir -p ./code")os.system("mkdir -p ./code/code128")os.system("mkdir -p ./code/EAN13")os.system("mkdir -p ./code/code39")os.system("mkdir -p ./code/upca")code128 = 'code128'ean13   = 'EAN13'code39  = 'code39'upca    = 'upca'barcode_fun(code128,10)barcode_fun(ean13,10)barcode_fun(code39,10)barcode_fun(upca,10)

3.结果
在当前目录下的code目录下生成了相应的目录和文件

 

code128_1.png作为实例展示效果为:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Objective-C学习笔记(一)–类

1、类的定义与实现1.1说明所有的类都是继承NSObject。类的接口与实现是分开的,一般类的定义是放在.h文件【包含类的名称、成员变量、方法、属性、继承关系 、遵从的协议】;实现部分是放在.m文件中【包含每个属性和方法的具体实现以及协议的方法实现】语法…

laravel支付宝sdk接入

自己学习使的 仅供参考 一、打开蚂蚁金服开放平台 找到研发服务->沙箱应用 设置沙箱应用保证可以使用 二、找到sdkdemo下载放到本地环境并改名为alipay配置里面的config 注释有详细的讲解仔细看 三、(这里是我的习惯)放到laravel的app下 四、去confi…

npm上传自己的项目

npm安装就不介绍了,自行度娘。本文介绍npm上传 先初始化:npm init 根据提示填完系统介绍信息(package.json); 再登录npmjs: npm login 效果如图: 输入注册的用户名、密码、邮箱,…

融于心而表于行 之 程序的执行问题

2.4 程序的执行问题Linux的多用户说完了,还需要进行下一个话题,那就是多任务的问题。所谓多任务,就是同一时刻能够执行多个程序。这个问题其实对于大多数Windows用户它都不是个问题,因为我们经常会一边浏览网页,一边用…

WebStorm文件类型关联设置

无意中创造了一个没有扩展名的文件,我选择了错误的文件类型关联。是js类型的,我却选成了文本,Ws每次编辑类型就成了txt文本,这个问题让我很苦恼,以下是我的解决方案。 错选的弹出框如下: 解决方案如下&…

WebStorm按Tab建快速生成代码模块

WS中,比如调试每次都要写的console.log(xxx);每次都要敲一遍,还有if模块,for循环模块,难道没有快捷键,可以生成代码模块吗,答案是“有”。 操作步骤如下(汉化版WS): 1、…

iterm2一键登陆服务器(门神权限不用每次都输密码进行验证)

1、新建文件 vim ~/.ssh/config 在打开的文件中输入以下内容 Host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p ControlPersist yes ServerAliveInterval 60 #保持持久链接 每60s 发送一个请求检测2、 新建文件 并赋予可执行权限&#xff…

STM32 cubeMX 光敏电阻AD转化实验

文章代码使用 HAL 库。 文章目录 前言一、光敏电阻介绍二、光敏电阻原理图解析三、ADC采样介绍1. 工作原理:2. ADC精度: 四、STM32 cubeMX配置ADC采样五、代码编写总结 前言 实验开发板:STM32F051K8。所需软件:keil5 ,…

tls握手浅析

首先上图: tcp三次握手完毕 tls: 1、client hello client random 支持的tls 支持的算法 2、server hello server random 选择的tls协议 选择的算法 证书 公钥 3、client 公🔑加密后的。 premaster secret server 私钥解密得到 premas…

第二题:坦克游戏1.0(方法:动态规划)

stO 在此给某位靠打01背包处理射程并AC的大神跪了 Orz 问题描述: henry公司最近推出了一款新的坦克游戏。在游戏中,你将操纵一辆坦克,在一个NM的区域中完成一项任务。在此的区域中, 将会有许多可攻击的目标&…

linux 使用systemctl 设置java进程开机启动,管理springboot开机进程

该过程默认已经安装jdk。java程序启动方式有多重,列出如下几种。 1、java -jar demo.jar 使用该命令程序在控制台输出启动,当按下CtrlC和关闭终端时,程序会终止。输出日志,在后面加上 > 文件名,如:java…

Opencv 深度学习识别性别和检测年龄

目录 1基于CNN的性别分类建模原理 1.1 人脸识别 1.2 性别预测 1.3 年龄预测 1.4 结果 2 代码 参考 本教程中,我们将讨论应用于面部的深层学习的有趣应用。我们将估计年龄,并从单个图像中找出该人的性别。模型由GilLevi和TalHassner训练&#xff0…

结构体和联合体

结构体: 8个为一个内存地址 依次向下 联合体: 共用一块内存地址 调试可以gcc -g -o输出编译。然后gdb执行 d打断点。n下一行。p输出。查看每一个所占的内存地址 宏定义和使用 #define 宏名称 “实现什么东西” 大小端 可以自行判断自己电脑 摘自…

Log4j的应用实例

建一张表,如下: create table log4j( logId int not null auto_increment,--流水号 createDate varchar(45) default null,--日志生成时间 thread varchar(45) default null,--当前线程 level varchar(45) default null,--当前日志的级别 …

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...

一、AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET SOA中间Socket/Tcp框架进行了总体的介绍,我们知道 AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通信的消息中间件&…

小程序如何跳转到各大电商小程序进行CPS赚钱

小程序系统广告门槛高,流量主费用低,个人开发者难以变现。电商CPS也是一种不错的变现方式,在自己的小程序内添加购物优惠导航入口。自己小程序的用户通过导航跳转到电商平台,进行购物,购物完成结算后,作为开…

安装composer以及laravel框架

Linux系统下安装laravel框架 在linux系统下安装laravel: 1.下载到windows系统下,使用FTP(FileZilla是一种快速、可信赖的FTP客户端以及服务器端开放源代码程式,具有多种特色、直接的接口。FileZilla在2002年11月获选为当月最佳推荐专案.)上传…

JVM系列(一)--JVM运行时数据区

随着时间的推移,我觉得有必要将一些之前相对模糊但是对自身技术提高会有帮助的原理、概念、实现进行一下系统的整理,所以就从JVM系列开始吧。本系列主要参考《Java虚拟机规范(第二版)》、周志明先生写的《深入理解Java虚拟机》,具体虚拟机主要…

ceph iscsi安装

ceph iscsi安装 2020-02-24 #安装包 下载包https://github.com/ceph/ceph-iscsi安装ceph-iscsi配置文件安装rbd-target-api所在的ceph-iscsi-cli包 3.1安装依赖python-configshell,网上 3.2安装包里的python-rtslib(先卸载老版本) 3.3安装…

Tensorflow C3D完成视频动作识别

本文是视频动作识别领域经典的C3D网络的简易实现&#xff0c;可以作为动作识别的入门。论文为<Learning Spatiotemporal Features with 3D Convolutional Networks>(ICCV 2015)。 框架&#xff1a;Tensorflow (1.6)python(2.7)slim 数据集&#xff1a;UCF101. Center f…