簡單記錄下問題及原因,方便回顧。
問題
通過 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 (臨時改,永久改參考:https://jingyan.baidu.com/article/d7130635e8a38413fdf4753b.html)
按照上面方法操作后,腳本可正常運行。
記:遇到 bat 腳本執行 py 文件失敗時,可為自己提供兩個解決問題的方向。