Как я могу выполнить код JavaScript из Python?

Допустим, что у меня есть этот код внутри файла JavaScript:

var x = 10; x = 10 - 5; console.log(x); function greet() { console.log("Hello World!"); } greet() 

Как я могу использовать Python для выполнения этого кода и «печатать» x и Hello World! ?
Вот какой-то псевдо-код, который далее объясняет, что я думаю:

 # 1. open the script script = open("/path/to/js/files.js", "r") # 2. get the script content script_content = script.read() # 3. close the script file script.close() # 4. execute the script content and "print" "x" and "Hello World!" x = js.exec(script_content) 

И ожидаемый результат будет выглядеть так:

 >>> 5 >>> "Hello World!" 

One Solution collect form web for “Как я могу выполнить код JavaScript из Python?”

Модуль Naked делает именно это. pip install Naked (или установить из источника, если хотите) и импортировать функции оболочки библиотеки следующим образом:

 from Naked.toolshed.shell import execute_js, muterun_js response = muterun_js('file.js') if response.exitcode == 0: print(response.stdout) else: sys.stderr.write(response.stderr) 

Для вашего конкретного случая, с file.js as

 var x = 10; x = 10 - 5; console.log(x); function greet() { console.log("Hello World!"); } greet() 

вывод будет '5\nHello World!\n' , который вы можете проанализировать по желанию.

  • import pyttsx работает в python 2.7, но не в python3
  • UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xe3 в позиции 1: недопустимый байт продолжения
  • Осциллирующая скорость обработки в скрипте python с использованием pysam.TabixFile для комментирования показаний
  • Декартово произведение для двух словарей python
  • Почему такое понимание списков происходит быстрее?
  • Лучший способ преобразования .py в .exe для Python 3.6?
  • Как определить тип экземпляра класса
  • Где getaddrinfo подходит для разрешения имен?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.