python文件中有execjs包导入JS的,也有openpyxl包写入excel的,但执行后,JS就变成乱码了,且无法恢复。是这两个包有冲突么,怎么解决
2条回答 默认 最新
- 夜凉笙歌婉 2023-04-25 00:02关注
可能是因为execjs在载入JS代码时使用了不兼容的编码格式导致JS代码出现乱码,从而导致JS代码无法正常执行。你可以尝试使用以下方法解决该问题:
修改载入JS文件时的编码格式
在使用execjs导入JS代码时,尝试指定正确的编码格式。例如,如果你的JS代码是UTF-8编码,可以使用以下代码载入JS文件:import codecs import execjs with codecs.open('file.js', 'r', 'utf-8') as f: js_code = f.read() ctx = execjs.compile(js_code)
启用编码格式转换
如果你无法确定JS代码的编码格式,可以使用Python的编码格式转换工具来尝试将JS代码从乱码中恢复,例如:import codecs import execjs with open('file.js', 'rb') as f: js_data = f.read() js_code = js_data.decode('gbk', 'ignore') ctx = execjs.compile(js_code)
这里假设你的JS代码的原始编码格式是gbk,如果不是,可以尝试将这里的'gbk'修改为对应的编码格式。
解决 无用评论 打赏 举报
悬赏问题
- ¥100 求懂行的大ge给小di解答下!
- ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
- ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
- ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
- ¥100 华为手机私有App后台保活
- ¥15 sqlserver中加密的密码字段查询问题
- ¥20 有谁能看看我coe文件到底哪儿有问题吗?
- ¥20 我的这个coe文件到底哪儿出问题了
- ¥15 matlab使用自定义函数时一直报错输入参数过多
- ¥15 设计一个温度闭环控制系统