是否有可能只从c#客户端写入图像,同时从python服务器读取?

是否有可能只从c#客户端写入图像,同时从python服务器读取?,c#,python-3.x,python-imaging-library,read-write,C#,Python 3.x,Python Imaging Library,Read Write,我目前正在从python中读取这样的文件 python服务器端: from PIL import Image img1 = Image.open( 'p1.png') img1 = img1.resize((224,224)) img1 = img1.convert('RGB') 客户方: System.IO.File.WriteAllBytes("incomplete.png", bytes); if (File.Exists(@"p.png"))

我目前正在从python中读取这样的文件

python服务器端:

from PIL import Image

img1 = Image.open(
        'p1.png')

img1 = img1.resize((224,224))
img1 = img1.convert('RGB')
客户方:

    System.IO.File.WriteAllBytes("incomplete.png", bytes);
    if (File.Exists(@"p.png")) 
    {
        File.Delete(@"p.png");
    }
    File.Move(@"incomplete.png", @"p.png");

问题是,我需要几乎同时写入和读取png文件,它会不时抛出错误,c#client无法访问文件IOException:在路径上共享冲突

让多个程序同时读取和写入文件是一种灾难。我鼓励你退一步,重新考虑你的设计


同时,这些问题可能是由Python读取文件时在文件中写入C#程序引起的。避免这些问题的一种方法是确保文件的视图始终保持一致。因此,在您的C#程序中,使用名称
complete.png
编写文件,然后在下一行中,将该文件重命名为
p.png
。由于
重命名
是一个原子操作,Python文件只能“看到”新文件或旧文件,但不能同时看到这两个文件。

我按照您的建议进行了修改,但仍然会出现相同的错误。这个问题确实是由同时阅读和写作引起的,但不幸的是,这是我的最佳方法。你能看一下c#实现吗?也许ypu引用了其他东西:)。试着把Python中的
Image.open()
放在
Try/except
子句中,并把它放在一个循环中,直到成功为止。