简单记录下问题及原因,方便回顾。

问题

通过 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 文件失败时,可为自己提供两个解决问题的方向。

bat脚本运行py文件失败(一闪而过)的更多相关文章

  1. 使用bat脚本调用py文件直接获取应用的包名和targetversion

    背景: 在上一篇已经介绍过如何利用python调用aapt获取包名 https://www.cnblogs.com/reseelei-despair/p/11078750.html 但是因为每次都要修 ...

  2. Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax

    打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...

  3. python批量运行py文件

    import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...

  4. Python的交互模式和直接运行.py文件有什么区别

    使用文本编辑器 - 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/1016959663602400/1017024645952992 直接输入python进入交互 ...

  5. 命令行运行py文件报错

    起因 今天用ubuntu 终端运行py文件报了个错,找不到模块? 我切换回pycharm中运行,运行一切正常 解决 在报错模块中,插入绝对路径 import sys sys.path.append(' ...

  6. python---使用pycharm运行py文件

    在pycharm中新建一个.py的文件,那么如何使用pycharm来运行这个文件呢? 第一步:选择这个三角(即Edit configuration)进入设置 第二步:设置文件名和路径 第三步:设置完成 ...

  7. [BAT脚本] 1、BAT脚本FOR循环操作文件和命令返回实例

    Wednesday, 31. October 2018 08:18PM - beautifulzzzz 一.需求 需要在windows上实现一个bat脚本解析json,将json转换为自己想要的key ...

  8. jupyter运行py文件(py文件和ipynb文件互转)

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python  https://i.cnblogs.com/EditPosts.aspx?postid=10750405 一.jup ...

  9. 如何在cmd中运行.py文件

    C:\Users\mf>cd C:\Program Files\Python36\ C:\Program Files\Python36>python const.py 切换到.py文件所在 ...

随机推荐

  1. lodop简单入门教程

    lodop简单入门 1 安装(这个不介绍,下载安装即可) 声明只能装windows,linux不能装,所以linux 服务器要使用直接使用http://localhost:8000/CLodopfun ...

  2. PHP——注册页面,审核页面,登录页面:加Session和Cookie

    实现效果: 用户注册信息,管理员核对信息审核通过后,可实现注册的用户名和密码的成功登陆,利用session和cookie获取用户信息并且不能跳过登录页面直接进入主页面 1.Session存储在服务器可 ...

  3. redis-stat 安装

    apt-get install ruby     apt-get install rubygems redis-stat安装: cd/root git clone https://github.com ...

  4. AD smart pdf 中文丢失

    Altium Designer将原理图通过smart pdf导出,原理图中的中文丢失了. 将原理图中的所有中文字体改为宋体即可. 百度知道上的也有说: 打开软件后,点击左上角的[DXP]→[Prefe ...

  5. Spring MVC属于SpringFrameWork的后续产品

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring MVC 分离了控制器.模型对象.分派器以及处理程序对象的角色,这种分离让它 ...

  6. java----监听器的作用

    Web监听器导图详解   监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能 ...

  7. 编程之美 最长递增子序列 LIS

    1. O(N*logN) 解法 先对序列排序, 然后寻找两个序列的最长公共子序列 2. O(N*N) 的动态规划解法 令 LIST[i] 表示以 i 为结尾的最长子序列的长度, 那么 LIST[J] ...

  8. 调用组件的C++代码

    #include<stdio.h>#include "LJSummary.h"#include<iostream>int main(void){ print ...

  9. leetcode -- Maximal Rectangle TODO O(N)

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...

  10. A Great List of Windows Tools

    Windows is an extremely effective and a an efficient operating system. Like any other operating syst ...