You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python qrcode库生成二维码时如何保存为变量名+.jpg格式文件

Python qrcode库生成二维码保存时无文件扩展名的解决方法

问题复现

原有实现代码如下:

import qrcode

n = input(str("Please enter the link of video: " ))
z = input("Please enter the question number: " )
img = qrcode.make(n)
img.save(z)

运行上述代码后,保存的文件没有任何扩展名:例如当变量z输入值为1时,最终生成名为1的无后缀文件,无法直接被图片查看器识别,不符合预期的1.jpg命名要求。

尝试的错误修复写法:

img.save(z.jpg) or (z."jpg")

上述写法不符合Python语法规则,运行会直接抛出语法错误。

错误原因

  • z.jpg的写法是尝试访问变量z的jpg属性,而z是input()返回的字符串类型,不存在该属性,语法逻辑完全错误。
  • z."jpg"不符合Python字符串操作的语法规范,属于非法写法。
  • qrcode库的img.save()方法不会自动为文件名补全图片后缀,必须传入完整的带目标格式后缀的文件名字符串,才能正确生成对应格式的图片文件。

正确修改方案

将文件名和.jpg后缀拼接为完整字符串后传入save()方法即可,两种常用拼接写法都可正常运行,修改后的完整代码如下:

import qrcode

n = input("Please enter the link of video: ")
z = input("Please enter the question number: ")
img = qrcode.make(n)

# 写法1:使用f-string拼接(推荐,可读性更好)
img.save(f"{z}.jpg")

# 写法2:使用字符串加号拼接,效果完全一致
# img.save(z + ".jpg")

如果需要导出为png格式,只需要将后缀替换为.png即可,库会自动根据后缀匹配对应的图片编码规则,不需要额外传参。

内容的提问来源于stack exchange,提问作者0Ptic0p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:48:15