Open In App

How to Run JavaScript from Python ?

Last Updated : 06 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we’ll discuss how to run a javascript file with Python. For this, we’ll use the JS2PY(Javascript Runtime in Pure Python) Python module. JS2PY works by translating JavaScript directly into Python. It indicates that you may run JS directly from Python code without installing large external engines like V8.

To use the module it first has to be installed into the system, since it is not built-in.

Syntax:

pip install js2py

To use the module it has to be imported.

Syntax:

import js2py

Now to convert javascript to python, the javascript command is stored as a string in some variable. We’ll now use the eval_js() function of the module js2py, and pass the javascript code to it.

eval_js() function is defined under the js2py module, which is used to evaluate javascript code, Pass the Javascript code as a parameter in the eval_js module.

Syntax:

js2py.eval_js(javascript code)

Example: Running a simple JS command in Python 

Python3




import js2py
  
code_2 = "function f(x) {return x+x;}"
res_2 = js2py.eval_js(code_2)
  
print(res_2(5))


Output: 

10

Now let us look at how a JS file is interpreted in Python. For this first *.js file is translated to *.py file

The js2py module provides one way for converting JS code to Python code we must use the translate_file() function for this. After the translation, we will import the Python file and provide something to the function declared within the javascript file.

translate_file() function accepts two arguments: a Javascript file and a Python file, finally it converts the Javascript file to a Python file.

Syntax:

js2py.translate_file(Javascript File, Python File)

Example:  Running a JS file using Python

Javascript File:

Javascript




function wish(name) {
    console.log("Hello, "+name+"!")
}


Python File: 

Python3




import js2py
from temp import *
  
js2py.translate_file("hey.js", "temp.py")
temp.wish("GeeksforGeeks")


Output: 

Hello GeeksforGeeks

We can also run JS without explicitly translating it. for this *.js is loaded into a variable through run_file() function.

run_file(): It is defined under the js2py module, which is used to run the Javascript file. It takes a Javascript file as an argument.

Syntax: 

js2py.run_file(Javascript File)

Example: Running JS in Python

Python3




import js2py
  
eval_res, tempfile = js2py.run_file("hey.js")
tempfile.wish("GeeksforGeeks")


Output:

Hello GeeksforGeeks



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads