如何在C#中读取Python元帅编写的文件?

时间:2018-11-12 05:11:00

标签: c# python serialization marshalling

我正在为某些朋友将Markov链聊天机器人从Python转换为C#,但是在使用Python的语言功能方面遇到了一些困难,而我以前从未遇到过。该机器人是基于pyborg https://github.com/bdrewery/PyBorg构建的。

该机器人初始化的一部分是从words.dat和lines.dat文件读取以填充字典,如下所示:

content = self.read_file("words.dat")
self.words = marshal.loads(content)
del content
content = self.read_file("lines.dat")
self.lines = marshal.loads(content)
del content

这两个文件都充满了对“ marshal.dumps”的调用结果,其中带有作为参数的大型字典对象,如下所示:

f = open("words.dat", "wb")
s = marshal.dumps(self.words)
f.write(s)
f.close()
f = open("lines.dat", "wb")
s = marshal.dumps(self.lines)
f.write(s)
f.close()

根据我的能力,Python的“ marshal”模块负责一种序列化,在该序列化中,对象被转换为“特定于Python”的字节表示形式。 https://docs.python.org/2/library/marshal.html

我希望这些文件充满键/值集,但是我找不到任何有关如何从此“元帅”字节集转换为我可以解析为字符串,列表或字典的内容的信息C#中的对象。有没有办法从我的应用程序中执行外部Python脚本?

0 个答案:

没有答案