问题标签 [memoryview]

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.

0 投票
1 回答
166 浏览

c# - 为什么进程内存查看器将字节数组读取为字符串?

我有 2 个通过 netPipe WCF 相互通信的 c# 应用程序。一个应用程序正在向另一个应用程序发送一个字节数组。如果我使用进程内存查看器(如 CheatEngine)检查接收应用程序的内存映射,我可以将接收到的字节数组作为字符串读取。为什么会这样?

0 投票
2 回答
1218 浏览

pointers - 在 Cython 中访问类型化 memoryview 的数据缓冲区

我有一个函数需要 Cython 中的数组指针,例如带有签名

和一个接收类型化内存视图的函数,我想从中调用第一个函数,例如:

这自然甚至不编译。我已经尝试了几个小时来找出一种方法来访问内存视图下的数据指针,例如X.data.

有没有办法做到这一点?可悲的是,我不能熟练foo地接受记忆观点。

0 投票
1 回答
752 浏览

python - 为什么创建此内存视图仅在分配给变量时才会引发 ValueError ?

Python的 memoryview支持datetime64timedelta. 好的。但是当我尝试创建一个memoryview包含datetime64or的结构化数组时timedelta,它似乎可以工作......除非我将它分配给一个变量

这严重挑战了我对 Python 基本工作方式的理解。考虑到(1)IPythons REPL无论如何都会将输出分配给,以及(2)函数/类无法知道调用者将如何处理其输出,这又有何不同f()x = f()_19memoryview

我在 Python 3.4.1、numpy 1.10.0.dev+fbcc24f、Linux 2.6.32-431.23.3.el6.x86_64、Scientific Linux 版本 6.6 上运行代码。


编辑

在 Python 3.5、numpy 1.10.4 上,我得到:

我已经用 numpy 提交了一个错误,尽管我不太确定问题出在哪里。

0 投票
1 回答
2969 浏览

python-2.7 - 在 Python 2.7 和 Python 3.4 中带有内存视图的 Ctypes from_buffer

我正在尝试将数据从 memoryview 传递到 ctypes 数组,该数组在 Python 3.4 中运行良好,但在 Python 2.7 中却不行。

当我跑

我进入<__main__.c_byte_Array_3 at 0x7f3022cb8730>Python 3.4,但在 Python 2.7.6 中出现以下错误:

这个错误的原因是什么,我如何在这两种情况下都能做到这一点?

我知道我可以使用将数据转换为字节

但我认为这会产生一个额外的数据副本并且不优雅,所以我正在寻找一个更好的解决方案(tobytes也欢迎任何关于该方法是否有效的评论)。

0 投票
1 回答
810 浏览

cython - 如果尺寸未知,请在 cython 中使用 Typed memoryview

我想使用类型化的内存视图来优化函数,但我不知道参数类型是什么。它可以是一个 numpy 数组,甚至是一个标量。那我应该如何使用类型化的 memoryview 呢?

0 投票
1 回答
2526 浏览

python - '*' 的操作数类型无效 (double[::1]; double[::1])

我在课堂上实例化了内存视图,如下所示:

但是我收到了关于内存视图操作的错误消息。

我想知道我应该如何对内存视图进行数学运算?

0 投票
1 回答
1476 浏览

python - How to serialise Pandas to MessagePack format as a python buffer / memoryview?

Pandas has a DataFrame.to_msgpack() method for serialising a dataframe to the MessagePack format.

It requires a file path or a 'buffer-like' object. If not provided, then it returns the data in a string representation.

My question is how to properly save this data as a buffer-like object without saving it as a string first?

In scenario 4, df.to_msgpack() requires a buffer-like object, whereas memoryview() requires an input parameter. So one would have to create an 'empty' memory view and then pass this to the to_msgpack() method. Then append the data. Though I wonder if this will lead to artefacts when unpacking the data.

With scenario 2, is it correct to think that a memory view of a string would be equivalent to a byte-array?

0 投票
1 回答
2403 浏览

numpy - 将 Numpy 数组复制到内存视图

我有memoryview一个numpy数组,并希望numpy使用以下方法将另一个数组的内容复制到其中memoryview

但为什么这是不可能的?它让我一直在说

TypeError:只有长度为 1 的数组可以转换为 Python 标量

如果我从 a 复制memoryview到 amemoryview或从numpy数组复制到numpy数组,它工作正常,但是如何从numpy数组复制到 a memoryview

0 投票
0 回答
445 浏览

python - cython中c数组上的Memoryview

初始化 memoryview 变量时出错。这是我的代码:

这是我得到的错误:

在 Red Hat Linux 上运行 Python 2.6.6、GCC 4.4.7、Cython 0.14.1。

0 投票
2 回答
306 浏览

c - 当 C 中出现数组越界时,为什么我的程序没有进入无限循环

  1. 我在 youtube 上观看了 CS107(第 13 讲)的视频,其中显示了这个示例,并通过显示内存图告诉了为什么上述程序会导致无限循环。arr[4] 越界,应该指向存储 i 的地址,并将 i 的值更改回 0,从而导致无限循环。但是当我尝试使用 gcc 编译器在我的 mac 上运行它时,for 循环执行了 5 次(通过插入 printf 进行检查)。即 i = 0,1,2,3,4 的值。