python+barcode快速生成条形码(电商测试小工具)

背景

需要测试自助收银机,每次都要在线生成条码,而且生成次数还有限制

需求

满足自定义条形码,可以生成条形码图片

方案

python        3.8以上

barcode        1.0.4

python-barcode       0.15.1      

代码

用于生成Code128条形码并将其保存为图片文件

        从barcode模块中导入了Code128类和ImageWriter类。这些类用于生成Code128条形码和将其保存为图片文件

def generate_barcode(code, output_dir):
    """
    生成Code128条形码并保存为图片
    :param code: 条形码数据
    """
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    my_code = Code128(code, writer=ImageWriter())
    print(my_code)
    my_code.save(f"{output_dir}/{barcode_name}_barcode_{barcode_data}.png")

        接下来定义了一个函数generate_barcode,它接受两个参数:code表示条形码的数据,output_dir表示输出目录的路径。在函数内部,首先检查输出目录是否存在,如果不存在则创建该目录。然后使用Code128类创建一个条形码对象,并使用ImageWriter类将其保存为PNG格式的图片文件。最后,打印出生成的条形码对象。

在主程序部分,首先通过用户输入获取商品名称和条形码数据。然后定义了输出目录的路径为barcodes。最后调用generate_barcode函数,传入条形码数据和输出目录路径,生成条形码并保存为PNG文件。

源码

import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
sys.path.insert(0, BASE_DIR)
from barcode import Code128
from barcode.writer import ImageWriter


def generate_barcode(code, output_dir):
    """
    生成Code128条形码并保存为图片
    :param code: 条形码数据
    """
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    my_code = Code128(code, writer=ImageWriter())
    print(my_code)
    my_code.save(f"{output_dir}/{barcode_name}_barcode_{barcode_data}.png")



# 示例数据
barcode_name = input("请输入商品名称:")
barcode_data = input("请输入商品条形码:")

# 输出目录
output_dir = "barcodes"

# 生成条形码并保存为PNG文件
generate_barcode(barcode_data, f"{BASE_DIR}/bar/{output_dir}")

运行结果

这个需要在黑窗口下面运行

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值