bat脚本运行py文件失败(一闪而过)
简单记录下问题及原因,方便回顾。
问题
通过 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文件失败(一闪而过)的更多相关文章
- 使用bat脚本调用py文件直接获取应用的包名和targetversion
背景: 在上一篇已经介绍过如何利用python调用aapt获取包名 https://www.cnblogs.com/reseelei-despair/p/11078750.html 但是因为每次都要修 ...
- Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax
打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...
- python批量运行py文件
import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...
- Python的交互模式和直接运行.py文件有什么区别
使用文本编辑器 - 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/1016959663602400/1017024645952992 直接输入python进入交互 ...
- 命令行运行py文件报错
起因 今天用ubuntu 终端运行py文件报了个错,找不到模块? 我切换回pycharm中运行,运行一切正常 解决 在报错模块中,插入绝对路径 import sys sys.path.append(' ...
- python---使用pycharm运行py文件
在pycharm中新建一个.py的文件,那么如何使用pycharm来运行这个文件呢? 第一步:选择这个三角(即Edit configuration)进入设置 第二步:设置文件名和路径 第三步:设置完成 ...
- [BAT脚本] 1、BAT脚本FOR循环操作文件和命令返回实例
Wednesday, 31. October 2018 08:18PM - beautifulzzzz 一.需求 需要在windows上实现一个bat脚本解析json,将json转换为自己想要的key ...
- jupyter运行py文件(py文件和ipynb文件互转)
有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://i.cnblogs.com/EditPosts.aspx?postid=10750405 一.jup ...
- 如何在cmd中运行.py文件
C:\Users\mf>cd C:\Program Files\Python36\ C:\Program Files\Python36>python const.py 切换到.py文件所在 ...
随机推荐
- 编译Spark2.1.2源码
源码编译的shell脚本为 /dev/make-distribution.sh ,下载源码包解压就能找到.不同版本使用的参数有差异.可以直接查看make-distribution.sh文件. 下载sp ...
- Netty中的那些坑
Netty中的那些坑(上篇) 最近开发了一个纯异步的redis客户端,算是比较深入的使用了一把netty.在使用过程中一边优化,一边解决各种坑.儿这些坑大部分基本上是Netty4对Netty3的改进部 ...
- 10个 jQuery 小技巧
10个 jQuery 小技巧 -----整理by: xiaoshuai 1. 返回顶部按钮 可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Bac ...
- METIS 安装过程
官网下载包 yum -y instll gcc yum -y install gcc* yum -y install cmake 环境Python2.7.3 创建/home/Python/metis ...
- 第二百七十四节,同源策略和跨域Ajax
同源策略和跨域Ajax 什么是同源策略 尽管浏览器的安全措施多种多样,但是要想黑掉一个Web应用,只要在浏览器的多种安全措施中找到某种措施的一个漏洞或者绕过一种安全措施的方法即可.浏览器的各种保安措 ...
- 关于Spring MVC Controller 层的单元测试
关于Spring MVC Controller 层的单元测试 测试准备工作: 1.搭建测试Web环境 2.注入Controller 类 3.编写测试数据 测试数据的文件名一定要与测试类的文件名相同,比 ...
- php的form中元素name属性相同时的取值问题
php的form中元素name属性相同时的取值问题:修改元素的名称,在名称后面加上 '[]',然后取值时即可得array()数组. 一.以复选框为例: <html> <head> ...
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
Entity Framework是微软出品的高级ORM框架,大多数.NET开发者对这个ORM框架应该不会陌生.本文主要罗列在.NET(ASP.NET/WINFORM)应用程序开发中使用Entity F ...
- hrbustoj 1104:Leyni, LOLI and Line(解析几何,斜截式的应用)
Leyni, LOLI and Line Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 181(54 users) Tota ...
- Mac终端使用mysql
1.安装完mysql后给mysql命别名 alias mysql=/usr/local/mysql/bin/mysql aliasmysqladmin=/usr/local/mysql/bin/mys ...