python的图片流


import qrcode


def create_qrcode(count):
    count += 1
    qr = qrcode.QRCode(
        version=1,
        box_size=5,
        border=1
    )

    for i in range(1, count):
        qr.clear()
        qr.add_data(i)
        qr.make(fit=True)

        img = qr.make_image(fill_color="black", back_color="white")
        img.save(f"/Users/superman/Desktop/server_api_v7.13/statics/qr_code/{i}.png")

create_qrcode(3)

以上代码,会生成某个数量的二维码,并保存到本地;
现在我这边的问题是:
怎么把这些批量生成的二维码,让它们不保存到本地;但是生成图片流,并打包成文件(比如100个二维码的图片流),返回给前端;
感谢伸出援手!

img

使用io的.BytesIO

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7509434
  • 这篇博客你也可以参考下:Python生成两个随机数,并将生成的数随机组成10道加减乘除基本运算,输入结果判断对错并打分。
  • 同时,你还可以查看手册:python- 定义扩展类型:已分类主题- 终结和内存释放 中的内容
  • 除此之外, 这篇博客: Python学生通讯录管理系统案例(文件版)中的 注意:本例中,要想保存所以学生的通讯信息,需要用到字典。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 所以我们要先定义一个字典,并且不为空,包含两条记录,如下:

    dict={

            "二狗":{"性别":"男","电话":"13787007426"},

            "旺财":{"性别":"女","电话":"13497008416"}

            }

    下面是完整代码:

    # 学生通讯录管理系统主界面
    def showMenu():
        print("=" * 30)
        print("=======学生通讯录管理系统========")
        print("1.添加学生")
        print("2.删除学生")
        print("3.修改学生")
        print("4.查询学生")
        print("5.所有学生")
        print("6.保存学生")
        print("7.退出学生")
        print("=" * 30)
    
    # 选择输入的功能
    def getSelcet():
        selectNum = int(input("请输入选择的序号:"))
        return selectNum
    
    
    
    # 从文件读取数据
    def recoverData():
        global dict
        f = open("backup.data",'r',encoding='UTF-8')
        content = f.read()
        dict = eval(content)
        f.close()
    
    
    
    
    
    # 实现序号1:添加学生信息
    def addstuInof():
        name = input("你当前是做添加操作,请输入要添加的名片信息:姓名")
        sex = input("请输入要添加的名片信息:性别")
        telphone = input("请输入要添加的名片信息:手机号码")
        dict[name] = {"性别": sex, "电话": telphone}
        print(dict)
    
    
    # 实现序号2:删除学生信息
    
    def delstuInof():
        name = input("你当前删除操作,接下来请输入要删除的姓名:")
        del dict[name]
        print(dict)
    
    
    # 实现序号3:修改学生信息
    def modifystuInfo():
        name = input("你当前是修改操作,接下来请输入要修改人的姓名:")
        sex = input("请输入要修改后的信息,性别:")
        telphone = input("请输入要修改后的信息,手机号码:")
        dict[name] = {"性别": sex, "电话": telphone}
        print(dict)
    
    
    # 实现序号4:查询学生信息
    def seckstuIofo():
        name = input("你当前是做查询操作,接下来亲输入要查询的人的姓名:")
        print(dict[name])
    
    
    # 实现序号5:显示所以显示的通讯信息
    def showstuInfo():
        print("当前的名片有:")
        for i in dict.items():
            print(i)
    
    
    # 实现序号6 保存学生信息
    def saveToFile():
        f = open("backup.data", "w", encoding="UTF-8")
        f.write(str(dict))
        f.close()
    
    
    # 实现序号7 退出显示管理系统
    def exitSystem():
        print("谢谢你的使用!")
    
    
    # main主函数
    def main():
        recoverData()
        while True:
            showMenu()
            num = getSelcet()
            if num == 1:
                addstuInof()
            elif num == 2:
                delstuInof()
            elif num == 3:
                modifystuInfo()
            elif num == 4:
                seckstuIofo()
            elif num == 5:
                showstuInfo()
            elif num == 6:
                saveToFile()
            elif num == 7:
                exitSystem()
                break
            else:
                print("你的输入有误,请重新输入··· ···")
    
    
    main()
    

  • 您还可以看一下 林男老师的Python中小学儿童孩子青少年少儿编程入门零基础趣味创意视频教程课程中的 开始写第一个程序小节, 巩固相关知识点