python - 从nodejs产生的python进程读取输出的问题
问题描述
从节点中生成的 python 进程读取输出时,我遇到了字符编码问题。
这是启动生成过程的代码,结果是一个 JSON 对象。
const python = spawn('python', ['pvm.py'])
python.stdin.write(JSON.stringify(results));
python.stdin.end();
以及产生的进程打印数据时的回调
python.stdout.on('data', async function (result) {
let pvm = result.toString()
//other stuff
}
python 文件只打印一个字典,其中包含通过处理来自标准输入的 JSON 生成的字符的键和值。直接运行 python 文件时,我收到 'ʊ': [2, []] 作为输出的一部分。生成过程中的缓冲区在转换为字符串时具有 'ʊ': [1, ['�', '�']] ,我认为这是由于将打印的 python 文本放入缓冲区时出错引起的。
有没有人对为什么会发生这种情况以及如何解决有任何建议?
解决方案
如果使用 += 将特殊字符添加到列表中,将来遇到此问题的任何人都使用 append 代替。
推荐阅读
- c# - 单击文本框时保持选择
- javascript - 即使在浏览器关闭 Javascript 后如何保存会话
- angular - RxJS 映射运算符是否仅用于 (x=>x) 错误的运算符?
- python - 如何在 PySpark 中拆分数据框列
- watson-conversation - 沃森对话错误?即使找到插槽的实体也会触发“未找到”逻辑
- angular - Ionic 2:我可以将页面作为参数传递给 navCtrl.push 吗?
- c# - 使用 FSharp 获取有关 MongoDB 集合的一般信息
- php - Symfony 4.1:您请求了一个不存在的服务“学说”
- scala - 当pairRDD中的键相同时如何维持值?
- java - 如何使用 vert.x 配置读取 json 文件?