我将路径改为了正确路径,后续运行也没有报错,我的文件夹内有.png类型的二维码图像,但为何输出的文本空白,输出内容打开后为空白文本编辑器
时间: 2024-04-11 19:31:45 浏览: 20
如果输出文件是空白的,则可能有几个原因导致了这个问题:
1. 检查图像文件夹中的图像是否是正确的二维码图像,并且可以被pyzbar识别。您可以尝试打印`qr_codes_found`列表,以确认是否成功解码二维码。如果列表为空,那么可能是因为图像无法被识别为有效的二维码。
2. 检查输出文件名和路径是否正确。确保您提供的输出文件名和路径是有效的,并且具有适当的写入权限。您可以尝试更改输出文件名和路径,例如将其设置为绝对路径,以确保可以正确写入文件。
3. 确保您的二维码图像文件名以`.png`结尾,并且与代码中使用的文件扩展名一致。如果您的图像文件扩展名不是`.png`,请相应地修改代码中的条件。
4. 检查您使用的编码格式是否正确。在代码中,我们假设二维码使用UTF-8编码。如果您的二维码使用其他编码,请相应地修改代码中的解码部分。
请检查这些问题,并根据需要进行调整。如果问题仍然存在,请提供更多的代码和样本图像,以便我更好地帮助您解决问题。
相关问题
制作每周指定时间更新一次指定路径文件夹内二维码图片.并将之前二维码失效的 python 代码
好的,这是一个比较具体的编程任务。我可以提供一个Python脚本的模板,您可以根据您的具体需求进行修改:
```python
import os
import qrcode
import time
from datetime import datetime, timedelta
# 指定文件夹路径
dir_path = ""
# 指定每周更新的时间
update_day = "Monday" # 可以设置为 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
update_hour = 12 # 指定更新时间的小时数,范围为 0-23
update_minute = 0 # 指定更新时间的分钟数,范围为 0-59
# 获取当前时间
now = datetime.now()
# 计算下一次更新时间
while now.weekday() != getattr(now, update_day):
now += timedelta(days=1)
update_time = datetime(now.year, now.month, now.day, update_hour, update_minute)
# 循环执行
while True:
if datetime.now() >= update_time:
# 更新二维码图片
for filename in os.listdir(dir_path):
if filename.endswith(".png"):
file_path = os.path.join(dir_path, filename)
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
# 生成带时间戳的二维码数据
data = "Your data here" + datetime.now().strftime("%Y%m%d%H%M%S")
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# 保存二维码图片
img.save(file_path)
# 更新更新时间
now = datetime.now()
while now.weekday() != getattr(now, update_day):
now += timedelta(days=1)
update_time = datetime(now.year, now.month, now.day, update_hour, update_minute)
# 判断并删除过期的二维码图片
for filename in os.listdir(dir_path):
if filename.endswith(".png"):
file_path = os.path.join(dir_path, filename)
timestamp_str = filename.split(".")[0][-14:]
timestamp = datetime.strptime(timestamp_str, "%Y%m%d%H%M%S")
if datetime.now() - timestamp > timedelta(days=7):
os.remove(file_path)
time.sleep(60)
```
这个脚本会在每周指定时间更新指定路径下的所有PNG格式的二维码图片,并删除过期的二维码图片。其中,您需要自行替换 `dir_path` 和 `qr.add_data` 中的数据。如果您需要实现二维码失效的功能,可以在生成二维码时添加时间戳,并在程序中判断二维码是否过期。在本例中,我添加了一个时间戳,并在每次更新时判断并删除过期的二维码图片。
将文件夹内的多张png图像转化为tensor并保存
将文件夹内的多张PNG图像转换为张量并保存的步骤如下:
1. 使用Python的Pillow库打开PNG图像文件。
2. 将图像数据转换为NumPy数组。
3. 将NumPy数组转换为PyTorch张量。
4. 将PyTorch张量保存为.pt文件。
5. 遍历文件夹中的所有PNG图像文件,将它们转换为张量并保存。
以下是一个示例代码,假设有一个文件夹'images',其中包含多张PNG图像文件,我们要将它们转换为张量并保存为一个.pt文件。
```python
import os
import torch
import numpy as np
from PIL import Image
# 定义文件夹路径和.pt文件名
folder_path = 'images'
file_name = 'images.pt'
# 定义一个空字典用于保存张量
tensor_dict = {}
# 遍历文件夹中的所有PNG图像文件
for filename in os.listdir(folder_path):
if filename.endswith('.png'):
# 打开PNG图像并转换为NumPy数组
img_path = os.path.join(folder_path, filename)
img_arr = np.array(Image.open(img_path))
# 将NumPy数组转换为PyTorch张量
tensor = torch.from_numpy(img_arr).permute(2, 0, 1).float()
# 将张量保存到字典中
key = os.path.splitext(filename)[0] # 使用文件名作为键值
tensor_dict[key] = tensor
# 保存张量字典为.pt文件
torch.save(tensor_dict, file_name)
```
在这个示例代码中,我们使用了`os.listdir()`函数遍历文件夹中的所有文件,并使用`os.path.join()`函数拼接文件路径。我们还使用了`os.path.splitext()`函数获取文件名和扩展名,并使用文件名作为键值来保存张量。最后,我们使用`torch.save()`函数将张量字典保存为一个.pt文件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)