首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从节点发送到python并打印出来。

将数据从节点发送到python并打印出来。
EN

Stack Overflow用户
提问于 2019-12-08 16:59:26
回答 1查看 3.1K关注 0票数 2

我一直试图在节点和python之间进行通信,我希望将对象数组发送到python,并在python中打印,但是我的代码不起作用。

代码语言:javascript
复制
content=[
{

    "username": "admin",
    "first_name": "",
    "last_name": "",
    "roles": "system_admin system_user",
    "locale": "en",
    "delete_at": 0,
    "update_at": 1511335509393,
    "create_at": 1511335500662,
    "auth_service": "",
    "email": "adminuser@cognizant.com",
    "auth_data": "",
    "position": "",
    "nickname": "",
    "id": "pbjds5wmsp8cxr993nmc6ozodh"
},
{

    "username": "chatops",
    "first_name": "",
    "last_name": "",
    "roles": "system_user",
    "locale": "en",
    "delete_at": 0,
    "update_at": 1511335743479,
    "create_at": 1511335743393,
    "auth_service": "",
    "email": "chatops@cognizant.com",
    "auth_data": "",
    "position": "",
    "nickname": "",
    "id": "akxdddp5p7fjirxq7whhntq1nr"
}]

JavaScript代码:

代码语言:javascript
复制
const express=require('express')

const app=express()

let p = require('python-shell');

app.get('/send',(req,res)=>{


    var options = {
        args:
        [
          content

        ]
      }
      p.PythonShell.run('hello.py', options, function  (err, results)  {


        console.log(results.toString())

      });

})

app.listen('5000')

Python脚本:

代码语言:javascript
复制
import sys 

import json

details=sys.argv[1]

print (details)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-10 13:43:43

因为我们不能将对象传递给命令行,所以python-shell正在对内容对象调用.toString()方法。让它成为object Object

解决方案:将options对象更改为:

代码语言:javascript
复制
var options = {
        args:
        [
          JSON.stringify(content)

        ]
      }

在python文件中:

代码语言:javascript
复制
parsed = json.loads(sys.argv[1])
print (json.dumps(parsed))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59237702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档