有没有人能帮帮我,因为我在绕圈子解决一个本应非常简单的问题! 我有一个像素信息数组,我想用它来重建一个小图像.获取像素数据是经过排序的,该信息存在于如下所示的二维数组列表中:

[(255,0,0),(125,111,2),(.... etc

然后我希望能够将这些信息写入一个文件,并从另一个程序中读回它,以便它是相同(或类似)的格式.例如,第十个像素的 colored颜色 数据可以由红色的像素[9][0]、绿色的像素[9][1]等读取.

在我看来,我应该能够编写一个字节列表,因为所有数字都在256以下,然后它们可以一次读回一个,并附加到另一个列表中.似乎没有任何方法可以做到这一点!我try 过的所有方法都将数字保存为单独的数字,因此(255,0,0)存储为‘2’,‘5’,‘5’,‘0’,‘0’.如果我try 存储数字,它同样只存储数字,如果我try 存储字节,它只会出现错误,坚持不能将整数存储为字节.存储为字符串也没有帮助,因为数字再次与换行符和我不需要的东西存储在一起.

我不得不删除我try 过的代码示例,因为无论我做什么,我都不能提交问题,因为它显然包含格式不正确的代码.我发布这篇文章的唯一方法是删除所有代码!但我使用了int,chr的‘WRITE’,但对我来说什么都不起作用.

该文件将用于在树莓Pi Pico上阅读.

有谁有主意吗? 谢谢.

推荐答案

你是说像这样吗?

# Example pixel data
pixels = [
    (255, 0, 0),    # Red
    (125, 111, 2),  # Some other color
    # Add more pixel data here
]

# Open a file in binary write mode
with open("image_data.bin", "wb") as file:
    for pixel in pixels:
        # Write each color component as a byte
        for color_component in pixel:
            file.write(bytes([color_component]))

# Reading back the data
read_pixels = []
with open("image_data.bin", "rb") as file:
    while True:
        # Read 3 bytes (one for each color component) at a time
        color_components = file.read(3)
        if not color_components:
            break
        # Unpack the bytes into a tuple representing the color
        color = tuple(color_components)
        read_pixels.append(color)

print(read_pixels[0][0]) # The first index represents the pixel, the second index represents the color from that pixel.

Python相关问答推荐

使用mySQL的SQlalchemy过滤重叠时间段

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

运行Python脚本时,用作命令行参数的SON文本

pandas滚动和窗口中有效观察的最大数量

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

如何使用它?

部分视图的DataFrame

使用Python更新字典中的值

如何并行化/加速并行numba代码?

Python脚本使用蓝牙运行在Windows 11与raspberry pi4

使用Python从URL下载Excel文件

关于两个表达式的区别

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

如何使用正则表达式修改toml文件中指定字段中的参数值

使用Python异步地持久跟踪用户输入

pytest、xdist和共享生成的文件依赖项

Pandas:将值从一列移动到适当的列

在round函数中使用列值

将字节序列解码为Unicode字符串

查找数据帧的给定列中是否存在特定值