在Windows上双击运行Python程序不会自动退出的方法
文章目录
- 在Windows上双击运行Python程序不会自动退出的方法
- 前言
- 将python.exe添加到环境变量中
- 一个Python程序例子
- 双击运行Python程序报错
- 双击运行Windows Command
- 让程序停一会
- 程序出错时打印错误信息,不自动关闭窗口
- 小结
在Windows上双击运行Python程序不会自动退出的方法
前言
本文描述了如何在Windows上双击运行Python程序,即使发生错误也不会自动退出的方法。
环境和工具:
- Windows 10
- Python 3.7 Windows x86-64 executable installer
- 文本编辑器
将python.exe添加到环境变量中
- 使用
.exe
的的Python安装包来安装; - 安装时勾选“Add Python to System env path”
如果已经安装,但是漏了勾选“Add Python to System env path”,可以再次运行
.exe
安装包选择修复(Modify)安装,并勾选“Add Python to System env path”。
一个Python程序例子
一个生成文件并计算文件大小的Python程序例子:
import osdef file_size(file_name):size = os.stat(file_name).st_sizeprint(f'File size of {file_name}: {size}')def main():with open('data.txt', 'w') as file:file.write("data file")file_size('data.txt')if __name__ == '__main__':main()
将上面代码保存为test.py。
双击运行Python程序报错
直接在Windows上双击test.py,窗口一闪而过,并没有创建data.txt,注意看窗口报错“Invalid Syntax”。
这是因为当前存放test.py的目录并不在Windows的PATH环境变量中。
但是我们不可能将每一个存放Python程序的目录都添加到Windows的PATH环境变量中,这个问题可以通过运行Windows Command来解决。
双击运行Windows Command
在test.py的目录下创建一个test.cmd;
在test.cmd中输入:
python test.py
双击运行test.cmd就可以执行成功了,可以看到data.txt文件已被成功创建。
这个时候还有一个问题,程序运行结束后,窗口就自动关闭了。因为程序运行很快,窗口一闪而过,看不清窗口上显示了什么信息。
让程序停一会
为了让程序执行后停一会,不要自动关闭窗口,可以在test.py的main()
方法中用input
语句让程序等待用户输入,这时无论用户按下哪个键程序都继续结束程序。
import osdef file_size(file_name):size = os.stat(file_name).st_sizeprint(f'File size of {file_name}: {size}')def main():with open('data.txt', 'w') as file:file.write("data file")file_size('data.txt')input('Press any key to quit program.')if __name__ == '__main__':main()
但是这时如果程序执行出错时,窗口仍然会自动关闭。
程序出错时打印错误信息,不自动关闭窗口
为了让程序执行出错时,不自动关闭窗口,而是打印错误信息,则需要捕捉和处理程序可能发生的错误。
一个故意写错文件名的例子:
import osdef file_size(file_name):size = os.stat(file_name).st_sizeprint(f'File size of {file_name}: {size}')def main():try:with open('data.txt', 'w') as file:file.write("data file")file_size('wrong.txt')except FileNotFoundError as error:print(error)finally:input('Press any key to quit program.')if __name__ == '__main__':main()
小结
在Windows上双击运行Python不自动退出的方法:
- 确保将python.exe添加到Windows系统环境变量PATH中;
- 新建一个Windows Command(
.cmd
)文件; - 在
.cmd
文件中输入python xxx.py
; - 在Python文件(
.py
)的main()
函数最后使用input
语句来让程序执行结束前,先等待用户按下任意键,才关闭窗口; - 在Python文件(
.py
)中使用try...except...finally
来捕捉可能发生的错误,使得在程序发生错误时,可以打印错误信息,而不会自动关闭窗口。
在Windows上双击运行Python程序不会自动退出的方法相关推荐
- 如何在linux上直接运行python程序
如何在linux上直接运行python程序 一.前言 二.具体步骤 一.前言 个人主页: ζ小菜鸡 大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习如何在linux上直接运行python程序. 如果文章 ...
- Windows下后台运行Python程序,并终止特定程序
Windows以后台方式运行Python程序 Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c start.ba ...
- 运行python程序的两种方式交互式和文件式_教你如何编写、保存与运行 Python 程序...
第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...
- 使用Windows任务计划自动运行Python程序
目录 1.编写Python程序 2.编写Windows批处理命令 3.创建Windows任务计划 3.1 在程序栏搜索:任务计划程序 3.2 点开后如下图,右键新建一个文件夹: 3.3 创建一个叫Py ...
- 服务器任务栏运行程序不见了,Win7系统任务栏上正在运行的程序图标不见了怎么办...
操作Windows7系统过程中会发现桌面下角的一些正在运行的图标不见了,也不知道怎么回事?正常情况下,只要打开程序应用都会显示在任务上的.我们又重新打开一个新程序,又会提醒你已经在运行了.为什么会出现 ...
- python编写的程序可以在任何平台中执行-在Windows平台上编写的Python程序无法在Unix平台运行。...
[单选题]在中华人民共和国境内飞行的民用航空器必须具有: ( ) [单选题]属于发热激活物的是: [单选题]年满( )周岁可以独立实施民事法律行为视为完全民事行为能力人 [单选题]在DIC的原发病中, ...
- python只能运行在windows平台上吗_在Windows平台上编写的Python程序无法在Unix平台运行。...
问题:在Windows平台上编写的Python程序无法在Unix平台运行. 更多相关问题 Because plants cannot move or talk, most people believe ...
- python可以在多种平台运行、体现了_在Windows平台上编写的Python程序无法在Unix平台运行。...
问题:在Windows平台上编写的Python程序无法在Unix平台运行. 更多相关问题 某船公司2003年2月,建造了两艘航行于武汉-南京的2000吨油船,双壳结构形式,至今使用良好,为公司创 肾病 ...
- windows平台上编写的python无法在unix_【判断题】在Windows平台上编写的Python程序无法在Unix平台运行...
[判断题]在Windows平台上编写的Python程序无法在Unix平台运行 更多相关问题 分别将下列物质滴入苯酚溶液中,产生白色沉淀的是A.浓溴水B.氢氧化钠溶液C.稀盐酸D.氯化铁溶液 有机物分子 ...
最新文章
- ext js IE9显示白板 页面浏览器模式强制渲染IE8
- HashMap 与 HashTable的区别
- 1-2 通过SQL管理数据库文件
- CodeForces - 1484F Useful Edges(最短路)
- jquery插件整理篇(六)HTML编辑器插件
- alex的ATM学习笔记
- marquee标签制作轮播图
- Oracle开发实战经典教程(教学视频)
- iOS之深入解析Hash在iOS中的应用
- 使用jmeter快速生成测试报告
- 使用Python及SMTP协议发送邮件(以163邮箱为例)
- Unable to find image ‘yt:latest‘ locally
- Ubuntu 14.04重装mysql
- 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!
- 1.3、操作系统的发展和分类
- java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw
- imgui中在指定位置(非固定window方式)绘制text
- img不拉伸图片 对图片保留原始比例
- 多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解
- Swift CoreAnimation ---- CALayer的呈现层和模型层
热门文章
- Matrix Hub 矩阵运算库 C语言
- 计算机投标书开题报告,投标书开题报告.doc
- 今天终于玩了HiPiHi
- Django的form组件提交时错误不显示或无法提交
- 2021江西高考成绩查询电话6,2021江西高考查分数时间
- 2021韶关市高考成绩查询,韶关高考成绩查询入口
- Deepin编译安装 mongoc++ 驱动程序
- 光纤光谱仪在气体成分分析上应用
- boost库学习④:boost::asio::buffer
- 解决: ValueError: source code string cannot contain null bytes 问题