有没有办法从统一的c#和python程序发送数据?

时间:2019-04-27 12:24:59

标签: c# python unity3d

我有一个unity项目,我想将对象的位置连同其他一些数据一起从它发送到python项目,该项目将具有神经网络,然后将输出发送回unity。

我需要从单位发送到python的数据是对象(x,y,z)的位置,一些布尔值可能是一些字符串,神经网络的输出将是(w,a,s,d ),我所做的是我将数据写入了一个文本文件,而python从该文件读取了数据,但是这种方式将始终产生错误,因为python将需要在c#写入时读取文件,这将产生IO错误,另一种方式是使用剪贴板,但这对于少量数据将是可行的,但对我而言不是很好。

c#代码

void Update()
    {
        System.IO.StreamWriter saveFile = new System.IO.StreamWriter("Reading/Positions/PlanePos.txt", false);
        saveFile.Write(this.transform.position);
        saveFile.Close();
        System.IO.StreamWriter saveFile2 = new System.IO.StreamWriter("Reading/Positions/done.txt", false);
        if (this.transform.position.y> 2)
        {
            leftground = true;
        }
        if (leftground)
        {
            if (this.transform.position.y < 2)
            {
                saveFile2.Write("done");
                saveFile2.Flush();
                dones.text = "done";
            }
            else
            {
                saveFile2.Write("air");
                saveFile2.Flush();
                dones.text = "air";
            }
        }
        else
        {
            saveFile2.Write("ground");
            saveFile2.Flush();
            dones.text = "ground";
        }
        saveFile2.Close();
    }

Python代码:

void Update()
    {
        System.IO.StreamWriter saveFile = new System.IO.StreamWriter("Reading/Positions/PlanePos.txt", false);
        saveFile.Write(this.transform.position);
        saveFile.Close();
        System.IO.StreamWriter saveFile2 = new System.IO.StreamWriter("Reading/Positions/done.txt", false);
        if (this.transform.position.y> 2)
        {
            leftground = true;
        }
        if (leftground)
        {
            if (this.transform.position.y < 2)
            {
                saveFile2.Write("done");
                saveFile2.Flush();
                dones.text = "done";
            }
            else
            {
                saveFile2.Write("air");
                saveFile2.Flush();
                dones.text = "air";
            }
        }
        else
        {
            saveFile2.Write("ground");
            saveFile2.Flush();
            dones.text = "ground";
        }
        saveFile2.Close();
    }

i,除了像服务器之类的可以将数据从unity发送到python,反之亦然的方式(如服务器或其他可以执行此操作的方式)。

0 个答案:

没有答案