简单记录下问题及原因,方便回顾。
问题
通过 bat 脚本运行 py 文件时,终端一闪而过,没能成功运行。
查证后发现问题出在编码上:
首先检查下bat文件编码格式(推荐 notepad++ )
打开bat文件 发现 编码格式为 带 BOM头的utf-8 ,在这里不需要 带 BOM 头。
在utf-8编码文件中BOM在文件头部,占用三个字节,用来标识该文件属于utf-8编码,现在已经有很多软件识别BOM头,但还是有些不能识别BOM头,我这里就不能识别。
所以要去掉BOM头。
去掉BOM头
可借助Notepad++
如下图,选中保存即可,bat文件的编码格式便会是:UTF-8
修改cmd编码
去掉 BOM 头后,依然运行失败。
原因是 cmd 终端编码是gbk,不是 utf8 的,只需要将其改成utf8 即可。
终端输入: chcp 65001 然后回车,即可把cmd编码改为 utf-8 (临时改,永久改参考:)
按照上面方法操作后,脚本可正常运行。
记:遇到 bat 脚本执行 py 文件失败时,可为自己提供两个解决问题的方向。