Skip to main content

一个依赖node.js来执行js代码的python库

Project description

一个依赖node.js来执行js代码的库


环境

注意 需要安装好node.js, 并添加好环境变量!!!


安装

pip install pyevaljs3

快速开始

import pyevaljs3

js_code = "function f(args) {console.log(args); return 'ok';} return f('args')"
result = pyevaljs3.eval_(js_code)
print(result) # 'ok'

js_code = "function f(arg1, arg2) {console.log(arg1, arg2); return arg1 + arg2;}"
ctx = pyevaljs3.compile_(js_code)
result = ctx.call('f', 'a', 'b')
print(result) # 'ab'

API参考

pyevaljs3.JSEval

  • def compile(self, source: str = None, suffix: str = None):
       编译javascript源代码
       :param source: 源代码字符串或要读取的文件路径
       :param suffix: js脚本文件名后缀(指定以什么模式执行), 默认是".js", 可选的值还有".cjs", ".mjs"等
       :return: Context
  • def eval(self, code: str = None, ignore_output=False):
       执行javascript代码, 返回其结果

pyevaljs3.Context

  • def call(self, func, *args):
       调用指定的函数, 返回其结果
       :param func: 函数名
       :param args: 函数的参数列表

pyevaljs3的模块级函数

  • def compile_(source: str = None, mode: str = None) -> Context:
       编译js源代码
       :param source: 源代码字符串或要读取的文件路径
       :param mode: 执行模式, 默认以.js的行为去执行
       :return: Context

  • def eval_(code: str = None, ignore_output=False):
       执行javascript代码, 返回其结果(对于长字符串的情况,请使用compile)
       :param code: js代码
       :param ignore_output: 是否忽略执行过程中的输出, 若为True则仅返回其结果, 默认不忽略(False)


欢迎各位使用此库, 有问题请提交issue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyevaljs3-0.0.6.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyevaljs3-0.0.6-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file pyevaljs3-0.0.6.tar.gz.

File metadata

  • Download URL: pyevaljs3-0.0.6.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.7

File hashes

Hashes for pyevaljs3-0.0.6.tar.gz
Algorithm Hash digest
SHA256 11ddc09a2930fcbc127e72a8dc87d4fc87f7af95f5d5638d596b58ccb7e3ebba
MD5 527b9e4c0b8f062addc3ad9e31073c96
BLAKE2b-256 d8dee04cd45027f448ec9394f2bf53fe674b8f6527f84ce7b3d7a3d770ad82e0

See more details on using hashes here.

File details

Details for the file pyevaljs3-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: pyevaljs3-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.7

File hashes

Hashes for pyevaljs3-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f3808afe87599512df2c455a6e4a67d9cfb3a4379cfb06dc37f151e6491cf4f7
MD5 f4df9ddc1fa0b06b6e9cee7f9e848514
BLAKE2b-256 94cf80aa4a712e909c15bc333ff114a8c1141146e92cbe8b23aa6cd37312a33f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page