有没有办法将 return args 到 Python 中的命令行(编译为 EXE)到 JavaScript 文件?

Is there a way to return args to command line in Python (Compiled to EXE) to a JavaScript file?

所以,我正在制作一个节点程序,Python 可以做很多事情,JavaScript 不喜欢使用模块 Python-specific,等等。所以,我决定将 Python 文件编译为 EXE,然后使用 JavaScript 和下面的代码调用它们...

const execFile = require("child_process").execFile;
function openExe(filePath, args = "") {
  execFile(filePath, [args], (error, stdout, stderr) => {
    if (error) {
      console.error("stderr", stderr);
      throw error;
    }
  });
} 

然后我在 Python...

中写了这个
import sys 
from pyowm.owm import OWM

args = (sys.argv)
args.pop(0)
print(args)


def print_weather(thing, location):
    location = location.lower()
    location = location.replace(" ", "")
    location = location.replace("weather", "")
    owm = OWM(api-key)
    mgr = owm.weather_manager()
    listOfAll = []
    listOfNotAll = []
    weather = mgr.weather_at_place(location).weather
    temp = int((weather.to_dict()['temperature'])['temp'])
    temp = round((temp - (273.15)) * 9/5 + 32)
    weather1 = str(weather.to_dict()[thing])
    listOfAll.append(f"The weather in {location} is {weather1}")
    listOfAll.append(f"The current temperature is {temp}°F")
    if temp <= 68:
        listOfAll.append("You should probably wear warm cloths ")
        listOfNotAll.append("\U0001F455")
    elif temp > 99:
        listOfAll.append("Drink some water its pretty hot...")
        listOfNotAll.append("\U0001F4A6")
    #{{{{Some way to return both (listOfNotAll and listOfAll) the lists}}}}


print_weather("detailed_status", "chennai")

现在我需要的是通过某种方式将此文件(已编译为 EXE)的输出 return 到 JavaScript 文件。 如果在这种情况下这是不可能的,那么我必须改变什么...

谢谢...

您可以在 print_weather 函数的末尾打印 listOfAlllistOfNotAll。 例如:

print("listOfAll:")
for item in listOfAll:
    print(item)

print("listOfNotAll:")
for item in listOfNotAll:
    print(item)

python 代码的输出将被 javascript 中的标准输出变量捕获。 此时您可以使用 stdout 做任何您想做的事情(例如,使用 stdout.split("\n") 将其转换为行数组)

我找到了一个博客 post,这也是您问题的可能解决方案: https://www.sohamkamani.com/blog/2015/08/21/python-nodejs-comm/