python 引用execjs 执行js脚本时编码错误问题
报错:(UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 20: illegal )
错误出在python内部的subprocess.py文件
方法一:
在引入execjs前加上下面三行代码
import subprocessfrom functools import partialsubprocess.Popen = partial(subprocess.Popen, encoding="utf-8")# 修改编码方式,window默认编码是gbk,Mac和Linux 默认是uft-8#在前面三行后import需要的库 execjsimport execjs
方法二:打开subprocess.py文件,找到初始化函数__init__(),修改参数的默认值为encoding=‘utf-8’,程序运行不再报错