cod*_*bot 9 python child-process node.js
我是 child_process 的新手,我想尝试一下它的功能。
有什么方法可以使用 spawn 将函数和参数传递给 python 文件(或者 exec 或 execFile 是 spawn 不能做到的)?
我想做类似(伪代码)
spawnORexecORexefile (python path/to/python/file function [argument1, argument2] )
Run Code Online (Sandbox Code Playgroud)
或者可能
spawnORexecORexefile (python path/to/python/file function(argument1, argument2) )
Run Code Online (Sandbox Code Playgroud)
请解释一下,也许举个例子,因为我是新手
我现在是怎么做的?
在节点
var process = spawn('python', [path/to/pythonFile.py, 50, 60] );
Run Code Online (Sandbox Code Playgroud)
在 pythonFile.py
import sys
import awesomeFile
hoodie = int(sys.argv[1])
shoe = int(sys.argv[2])
awesomeFile.doYourMagic().anotherThing(hoodie, shoe)
Run Code Online (Sandbox Code Playgroud)
如您所见,从节点,我将数据发送到pythonFile,然后发送awesomeFile到特定函数
我想“切断中间人”并删除pythonFile节点并将数据直接发送到awesomeFile文件到特定功能。这就是为什么我要问
谢谢
python -c 'import foo; print foo.hello()'您可以使用表单(来自/sf/answers/279097941/ )从命令行运行特定的 Python 函数。
将以下两个文件放在同一目录中,并使用node index.js. 您应该看到以下输出:
Hoodie: 10
Shoe: 15
Run Code Online (Sandbox Code Playgroud)
awesomeFile.pydef myfunc(hoodie, shoe):
hoodie = int(hoodie)
shoe = int(shoe)
print("Hoodie:", hoodie)
print("Shoe:", shoe)
Run Code Online (Sandbox Code Playgroud)
index.jsconst { spawn } = require('child_process');
let hoodie = 10,
shoe = 15;
const result = spawn("python",
["-c", `import awesomeFile; awesomeFile.myfunc(${hoodie}, ${shoe})`])
result.stdout.pipe(process.stdout)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |