首页 > 解决方案 > 使用内存映射文件将数据从 C# 传递到 Python

问题描述

我有一个图像,我想从 C# 传输到 Python 进行处理。我将图像预先转换为字节 [] 并使用 MemoryMappedFile 和 MemoryMappedViewStream 将其放置在内存中。他们的 C# 到 C# 传输是成功的,但是我如何接受位于 python 内存中的文件?

C#

    using (MemoryMappedFile mmf = MemoryMappedFile.CreateNew("testmap", 2000000))
    {
        bool mutexCreated;
        Mutex mutex = new Mutex(true, "testmapmutex", out mutexCreated);
        using (MemoryMappedViewStream stream = mmf.CreateViewStream())
        {
            BinaryWriter writer = new BinaryWriter(stream);
            writer.Write(imageasbyte.Length);
        }
        mutex.ReleaseMutex();
       }

Python:

import mmap

mymap = mmap.mmap(fileno=-1 ,tagname='testmap', length=2000000, access=mmap.ACCESS_READ)

p2 = mymap.read_byte()
p3 = mymap.read_byte()

标签: pythonc#

解决方案


推荐阅读