python文件之间数据传输_在不编写文件的情况下在Python和C#之间传递数据

我想在

Python和C#之间传递二进制信息.我假设您可以打开一个标准的输入/输出通道,并像文件一样读写它,但是有很多可移动的部分,我不太了解C#.我想做这种事情,但不写文件.

# python code

with open(DATA_PIPE_FILE_PATH, 'wb') as fid:

fid.write(blob)

subprocess.Popen(C_SHARP_EXECUTABLE_FILE_PATH)

with open(DATA_PIPE_FILE_PATH, 'rb') as fid:

'Do stuff with the data'

// C# code

static int Main(string[] args){

byte[] binaryData = File.ReadAllBytes(DataPipeFilePath);

byte[] outputData;

// Create outputData

File.WriteAllBytes(outputData)

我已经尝试了几种使用标准输入/输出的不同方法,但我没有运气匹配它们,就像我说的那样,有许多活动部件.我尝试过类似的东西

p = subprocess.Popen(C_SHARP_EXECUTABLE_FILE_PATH, stdin=subprocess.PIPE, stdout=subprocess.PIPE)

p.stdin.write(blob)

p.stdin.close()

要么

p = subprocess.Popen(C_SHARP_EXECUTABLE_FILE_PATH, stdin=subprocess.PIPE, stdout=subprocess.PIPE)

out, err = p.communicate(blob)

在python一边随着

TextReader tIn = Console.In;

TextWriter tOut = Console.Out;

String str = tIn.ReadToEnd();

//etc...

以及其他一些在C#方面无效的东西.我在某些方面取得了一些成功,但我已经改变了很多,以至于我不记得什么对什么有效.有人可以给我一个关于哪些部件效果最好的提示,或者这是否可行?

我想传递的数据包含null和其他不可打印的字符.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值