欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-16 16:26:06
文章目录在Windows上双击运行Python程序不会自动退出的方法前言将python.exe添加到环境变量中一个Python程序例子双击运行Python程序报错双击运行Windows Command让程序停一会程序出错时打印错误信息,不自动关闭窗口小结在Windows上双击运行Python程序不会自动退出的方法前言本文描述了如何在Windows上双击运行Python程序,即使发生错误也不会自动退出的方法。环境和工具:Windows 10Python 3.7 Windows x86-64 ex...

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

前言

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

环境和工具:

将python.exe添加到环境变量中

  1. 使用.exe的的Python安装包来安装;
  2. 安装时勾选“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

  1. 在test.py的目录下创建一个test.cmd;

  2. 在test.cmd中输入:

    python test.py
    
  3. 双击运行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不自动退出的方法:

  1. 确保将python.exe添加到Windows系统环境变量PATH中;
  2. 新建一个Windows Command(.cmd)文件;
  3. .cmd文件中输入python xxx.py
  4. 在Python文件(.py)的main()函数最后使用input语句来让程序执行结束前,先等待用户按下任意键,才关闭窗口;
  5. 在Python文件(.py)中使用try...except...finally来捕捉可能发生的错误,使得在程序发生错误时,可以打印错误信息,而不会自动关闭窗口。

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

相关标签: Python