gpt4 book ai didi

python - 从 Python 运行 NodeJS

转载 作者:行者123 更新时间:2023-12-05 02:51:55 25 4
gpt4 key购买 nike

我很难弄清楚如何从 Python 运行 NodeJS。我从 Python 运行 ShellScript 和从 ShellScript 运行 NodeJS 没有问题,但似乎无法从 Python 获得 NodeJS,我只得到以下输出:

b"

这些是我的脚本的简化版本。

我正在尝试从 Python 中运行 NodeJS。

#!/usr/bin/env node
console.log("Hello " + process.argv[2]);

这里是 Python,使用 Python3。

from datetime import datetime
import json
import os
import re
import sys
import subprocess

if __name__ == '__main__':
p = subprocess.Popen(['/Users/Brett/scripts/hello.js', 'Brett'], stdout=subprocess.PIPE)
out = p.stdout.read()
print(out)

感谢您的帮助!非常感谢。

编辑:我可以从命令行执行以下命令,因为“hello.js”是可执行的:

hello.js 'Brett'

shell=true 没有修复它。

此外,我使用的是 macOS Catalina 10.15.5,因此我的 shell 是 zsh。

如果我在命令的前面添加node,我没有得到node这样的文件或目录,我试过如下:p = subprocess.Popen(['/Users/Brett/scripts/hello.js', 'Brett'], stdout=subprocess.PIPE)

最佳答案

感谢大家的回复。一切都非常有帮助。特别是@max-stanley 和@jared-smith。

以下最终对我有用:

p = subprocess.Popen(['/usr/local/bin/node', '/Users/Brett/scripts/hello.js', 'Brett'], stdout=subprocess.PIPE)
out = p.stdout.read()
print(out)

不确定为什么它不能与可执行 js 文件中的 shebang 一起使用,但我不致力于它,所以我将采用有效的解决方案并继续。 ;-)

干杯!

关于python - 从 Python 运行 NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62862861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com