问题标签 [bytesio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何将 numpy 数据预加载到像 io.BytesIO 这样的缓冲区中以使其可搜索?
以下函数基本上返回numpy.ndarray
从 main 调用 的getimage函数:
抛出的错误:
python - Convert from '_io.BytesIO' to a bytes-like object in python3.6?
I am using this function to uncompress the body or a HTTP response if it is compressed with gzip, compress or deflate.
However python throws this error message.
on this line:
Essentially, how do I convert from '_io.BytesIO' to a bytes-like object?
base64 - 如何将散景图转换为 BytesIO 对象以使用 base64 模块对图进行编码
我有一个绘制曲线的plot
对象。bokeh
sin(x)
现在,我不想用某个名称将它保存到某个html
文件中,output_file('sine.html')
而是想创建一个BytesIO()
对象,以便进一步进行base64
编码。
我非常需要社区帮助。
我想要的原因是matplotlib
我可以将图像导出为BytesIO()
对象并使用它顺利地将其重新渲染Flask
或Dash
像这样的应用程序,
我希望与bokeh
.
请指导我。
python-3.x - 使用来自 URL 响应的 PIL 打开特定图像的问题
我正在从 URL 中抓取图像并进行一些操作,然后将它们保存到磁盘。这适用于绝大多数图像,但尽管在浏览器中加载良好,但仍有某些图像 URL 失败。我查看了错误跟踪,但对这里的各种修复都没有运气。以下是提取为失败的示例 URL。
OSError: 无法识别图像文件 <_io.BytesIO object at...>
我认为该文件的格式不同。如需额外参考,该行在以下位置失败:
response = requests.get(urlString,headers={'User-Agent': 'Mozilla/5.0'},timeout=10)
并给出上述痕迹。我敢肯定它可能是一条线,但我把头发扯掉了,所以任何想法都会受到热烈的赞赏!
编辑:
我发现更多链接失败。例如
http://www.excelscientific.com/sealplate.jpg
https://www.bioexpress.com/stibo/web/std.lang.all/52/52/4695252.jpg
我查看了源代码,无法区分任何区别(这些页面上似乎没有任何“内容”只是图像,所以我越来越确信这是图像格式问题。
python - 从数据流而不是从文件加载图像
我有一个程序(在 Pyglet 中),我想以字节的形式保存它们的图标,然后将它们转换为临时图像并将它们传递给程序以便能够使用它们。
这是一个字典,其中存在两个图标的数据:
虽然这是将其转换为临时图像并传递给 Pyglet 的脚本的一部分:
我遇到的问题是带有: 的 Pygletpyglet.image.load()
需要文件路径而不是文件本身。由于该文件不是物理文件,因此我不知道如何获取它的路径以供 Pyglet 使用。您对如何解决问题有任何建议或意见吗?
编辑:我尝试了从“Torxed”获得的两个答案:
和:
但是在这两种方法中,我得到的都是令人困惑的像素,而不是原始图像。我还修改了获取图像字节打印的方法。在我使用这种方法之前:
我从这里获得的答案: perillaseed 但后来我改为:
如果我去检查新保存的图像,它与原始图像完全一样,所以我手动复制字节字符串,将其插入字典中,它不起作用。以下是视觉结果:
另外,我想警告一下,我将这两个图标作为 sprite 并旨在更好地查看它们,因为它们在程序的实际图标上太小了。
为了回应snakecharmerb,当你回答你给我的建议时我试过了,但是当他也回答了Torxed时,我得到了他自己报告的错误。
编辑2:
我试图用另外两个更改图标(因为我使用的两个仅用于测试,而不是程序的最终图标),但我得到了相同的结果。上面是原来的,下面是新的。
字节字符串(new_ico_16):
字节字符串(new_ico_32):
我也以这种方式进行了测试(通过在第一次编辑中修改脚本),但与以前没有不同的结果:
python-3.x - 使用 MXRecordIO 从字节对象读取
有没有一种方法可以mx.recordio.MXRecordIO
用来读取字节对象而不是文件对象?
例如我目前正在做:
但如果可能的话,我宁愿不必将文件写入文件作为中间步骤。我试过使用 BytesIO,但似乎无法让它工作。
python - io.BytesIO 非常慢。备择方案?优化?
我在带摄像头的 Raspberry Pi 上运行 Python v3.5 脚本。该程序涉及从视频流中录制视频picamera
并从视频流中获取样本帧以执行操作。有时,处理字节缓冲区需要很长时间(20+ 秒)。包含问题区域的代码的简化版本是:
一段时间后,打开字节流所需的时间变得疯狂。在我最近一次运行中,一个实例耗时超过 48 秒! 该图显示了每个周期打开字节流的时间图。 我对代码有问题的区域中的每一行进行了时序测试,我可以确认它是stream = io.BytesIO()
导致延迟的行。
当我在此任务期间使用 监控 Raspberry Pi 的 CPU 和内存时psutils
,我没有观察到明显的问题。CPU 使用率为 10-15%,虚拟内存使用率约为 24.2%,并且正在使用 0 交换。
除了 Python 程序之外,没有其他用户执行的进程在 Pi 上运行。硬件正在运行带有 GUI 的默认 Raspbian 安装。
由于 Python 程序有 1000 多行,因此我不会在此问题文本中包含超出最小示例的任何内容。如果您想查看上下文信息,请查看此 Gist 和代码。
初步搜索表明这是 BytesIO 的一个已知问题。一些针对 Python 的旧错误跟踪(约 2014 年)表明,在 3.5 版本中对某些情况进行了改进。
问题是:
- 为什么
BytesIO
这里慢? - 是否有另一种更快的流式传输字节的方法?
- 有没有更好的方法来
BytesIO
获得我需要的东西?
编辑:我在循环中添加了一行,强制流在每个进程结束时使用 关闭stream.close()
,但这似乎无效。我仍然有 20 多秒的流打开时间。
EDIT_2:我从编辑的信息中误读了测试中的值,并错过了具有科学记数法的值。
python-3.x - 为什么这个字符串没有保存在全局变量中?
我正在使用 Python 和 Kivy 编写应用程序。我有一个绘制图像并将其导出为 png 的函数。我正在尝试使用该图像并将其作为 BLOB 保存在 sql db 中。
我尝试采用的方法是使用 BytesIO 将 png 转换为流,然后将此值(字符串)放入一个变量中,然后我可以将其发送到数据库。
我遇到的问题是,在“本地”函数中,我能够将 png 对象转换为流并打印它,但是当我尝试在函数之外打印相同的变量时,它返回空。
任何洞察力帮助将不胜感激!我认为这是因为我使用函数的内存来转换 png>IO 并且离开函数时它不喜欢它。或者,如果您有任何更好的解决方案,我会全力以赴。
当我在这个函数之外尝试print(driversig)
它返回空
我也试过print(str(driversig))
我的全局变量为空。driversig = ''
只是以防你想知道。打印时我也没有收到任何错误
bytesio - 字节 IO 和文本文件
这可能是一个愚蠢的问题,但它真的会帮助我理清我的概念。字节 IO 使用字节字符串,这意味着它使用字节数据。并且字节数据不是人类可读的。
因此,当我编写以下代码时:
一个 txt 文件出现在 python rote 目录中,当我打开它时,其中存在文本“hello world”。我的问题是我对字节数据进行了编码。当字节数据仅计算机可读时,为什么我能够在文本文件中将其读取为“hello world”。