pyexecjs 异常记录

2024-03-11  本文已影响0人  SodaCrush

issues

  1. encoding error
import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding="utf-8")
  1. module not found:
    解决办法:指定node_modules所在目录
js = execjs.compile(
  open(path.join(BASE_PATH, "tools/xxx.js"), "r", encoding="utf-8").read(),
  cwd=path.join(BASE_PATH, "tools/node_modules")
)
  1. 获取Promise结果
abs_path = path.join(BASE_PATH, "js/manifest.js")
process = subprocess.Popen(["node", abs_path, data], stdout=subprocess.PIPE)
output, error = process.communicate()
clean_res = output.decode('utf-8').strip()
print(clean_res)
上一篇 下一篇

猜你喜欢

热点阅读