我是靠谱客的博主 忧心糖豆,最近开发中收集的这篇文章主要介绍python 报错后不关闭窗口_在Windows上双击运行Python程序不会自动退出的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Windows上双击运行Python程序不会自动退出的方法

前言

本文描述了如何在Windows上双击运行Python程序,即使发生错误也不会自动退出的方法。

环境和工具:

将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 os

def file_size(file_name):

size = os.stat(file_name).st_size

print(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 os

def file_size(file_name):

size = os.stat(file_name).st_size

print(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 os

def file_size(file_name):

size = os.stat(file_name).st_size

print(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来捕捉可能发生的错误,使得在程序发生错误时,可以打印错误信息,而不会自动关闭窗口。

本文地址:https://blog.csdn.net/nklinsirui/article/details/107420944

希望与广大网友互动??

点此进行留言吧!

最后

以上就是忧心糖豆为你收集整理的python 报错后不关闭窗口_在Windows上双击运行Python程序不会自动退出的方法的全部内容,希望文章能够帮你解决python 报错后不关闭窗口_在Windows上双击运行Python程序不会自动退出的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部