Как я могу вызвать функцию Javascript в python? - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь сделать игру со змеями с электронным обучением и глубоким подкреплением. Учебный материал по подкреплению я делаю в python, а игру - в Javascript. Теперь, как я могу вызвать такую ​​функцию в python?

makeSomeThing(x) {

}

или

getValue() {
   return x;
}

Ответы [ 2 ]

1 голос
/ 20 марта 2020
  1. Пожалуйста, соберите ваш скрипт python в исполняемый двоичный файл. Вы можете использовать pyinstaller для упаковки ваших python скриптов в отдельный исполняемый файл.

  2. Затем вы можете создать этот двоичный файл в своем проекте Electron следующим образом.

    import { spawn } from 'child_process';
    // in my case I'm storing the file at bin directory at the root path of the application
    // You can change this whatever you want
    
    const pythonPath = const basicURL = process.env.NODE_ENV === 'development'
    ? path.join(__dirname, './bin/xxxx')
    : path.join(process.resourcesPath, 'bin', 'xxxx');
    
    const params = ['arg1', 'arg2'];  // params that your python scripts need.
    const pythonChildProcess = spawn(pythonPath, params);
      pythonChildProcess.stdout.on('data', data => {
        console.log(`stdout: ${data}`);
    
        // Here is where the output goes
      });
      pythonChildProcess.stderr.on('data', data => {
        console.log(`tderr: ${data}`);
    
        // Here is where the error output goes
      });
      pythonChildProcess.on('close', code => {
        console.log(`closing code: ${code}`);
        // Here you can get the exit code of the script
      });
    
0 голосов
/ 20 марта 2020

Ну, я не знаю, ожидаете ли вы этого ответа, но я бы создал автономный python сервис, который предоставляет некоторый API.

Создайте клиент в электронном формате и используйте python API для отправки данных и получения обработанной информации от Python сервиса

Вы не можете позвонить Javascript API от python. В любом случае, вам нужно что-то посередине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...