【发布时间】:2021-04-23 20:55:19
【问题描述】:
我目前正在尝试为字典的键生成二维码。如果我只为一个键尝试,那完全没有问题。但是,如果我尝试自动化该过程,为每个键增加我的文件编号,我只会生成空的 .png 文件。
一次只有一个二维码,我的代码可以正常工作,如下所示: 导入简历2 导入操作系统 导入二维码
test = {
1: { "gene": "aox1a", "construct": "2-23", "line": "8" },
2: { "gene": "aox1a", "construct": "2-23", "line": "8 " },
3: { "gene": "aox1a", "construct": "2-23", "line": "8" }
}
data = "This is plant 1", test[1]
# output file name
filename = "plant1.png"
# generate qr code
img = qrcode.make(data)
# save img to a file
img.save(filename)
这样,我生成了一个包含所需二维码的 .png 文件,上面写着:“这是植物 1', {'gene':'aox1a' .....}) 如果我用循环尝试自动化,它看起来像这样:
for i in test.keys():
data=test[i]
print(test[i])
i = 0
while os.path.exists("pic%s.png" % i):
i += 1
filename = open("pic%s.png" % i, "w")
这就是我的代码可以正常工作的地方。但是,我不知道我怎么不能选择这些文件并放入我的二维码。 如果我尝试像以前一样添加图像,请使用:
img = qrcode.make(data)
# save img to a file
img.save(filename)
它会告诉我'write() 参数必须是 str,而不是字节'。
有人可以帮忙吗?已经谢谢了!
【问题讨论】:
-
参考python - builtins.TypeError: must be str, not bytes - Stack Overflow——虽然答案解释的太少了,而且是针对另一个库的...
标签: python