Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点如何运行交互脚本(python、shell等)_Node.js - Fatal编程技术网

Node.js 节点如何运行交互脚本(python、shell等)

Node.js 节点如何运行交互脚本(python、shell等),node.js,Node.js,我有一个python交互脚本,如以下示例: $ python sync_email.py please input your email: myemail@email.com validating... please input your password: password correct. Now will sync the email to local... 我想使用node运行python脚本,并自动输入电子邮件和密码 实际上,我想在无块IO中使用不同的电子邮件批处

我有一个python交互脚本,如以下示例:

$ python sync_email.py

please input your email: myemail@email.com

  validating...

please input your password: 

  password correct.

Now will sync the email to local...
我想使用node运行python脚本,并自动输入电子邮件和密码


实际上,我想在无块IO中使用不同的电子邮件批处理执行python脚本。如何做到这一点?

问题的答案可能是Python Shell, 使用npm安装。

要将数据发送到Python脚本(在stdin中写入),请执行以下操作:

要从Python脚本接收(只需在Python中使用print):

非常容易使用,但请注意,您可能指定了脚本的参数/路径,因此必须像这样使用它

var options = {
  mode: 'text',
  scriptPath: '/absolute/path/to/my/scripts',
  args: ['param1', 'value1', 'param2', 'value2']
};
var pyshell = new PythonShell('my_script.py',options);

也许对你来说已经太晚了,但这可能会帮助其他人,因为我也有同样的问题,而且花了我一些时间;)

能否修改sync_电子邮件脚本,使其仅通过命令行接受其用户?否则这可能是有用的一些伟大的答案。顺便问一下,我如何在python脚本中接收参数?@QuikProBroNa我通常会不断扫描Stdin以获取输入->而True:userinput=Stdin.readline().rstrip('\n')
var PythonShell = require('python-shell'); 
var pyshell = new PythonShell('my_script.py');

pyshell.on('message', function (message) { 
// received a message sent from the Python script (a simple "print" statement)  
console.log(message); });
var options = {
  mode: 'text',
  scriptPath: '/absolute/path/to/my/scripts',
  args: ['param1', 'value1', 'param2', 'value2']
};
var pyshell = new PythonShell('my_script.py',options);