-
在Windows上双击运行Python程序不会自动退出的方法
2020-07-18 00:48:32文章目录在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 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
来捕捉可能发生的错误,使得在程序发生错误时,可以打印错误信息,而不会自动关闭窗口。
-
Ubuntu双击运行.sh文件
2019-11-04 09:12:31在Ubuntu18.04安装完Pycharm之后,每次打开该文件都...可以通过修改文件的执行方式直接双击运行程序。 第一步:修改文件权限 chmod +x pycharm.sh 在终端中输入指令,文件名为想要修改权限的文件名称。 第...在Ubuntu18.04安装完Pycharm之后,每次打开该文件都要在终端中输入命令
./pycharm.sh
而不同于Windows操作系统下双击文件就能运行,Ubuntu系统双击该文件打开的是文件内容;
可以通过修改文件的执行方式直接双击运行程序。
第一步:修改文件权限
chmod +x pycharm.sh
在终端中输入指令,文件名为想要修改权限的文件名称。
第二步:修改文件行为
单击文件为选中状态,在屏幕左上角(注意:并非是该窗口的左上角)选择文件(Files),选择首选项(Preference)
第三步:修改文件执行方式
在“行为”中将文件执行方式修改为“可执行文本文件——运行”
-
让Python脚本能双击运行
2020-11-12 10:28:11那么如何让Python脚本能直接双击运行呢? 一、Mac(or Linux) 仅需两步操作: 1. 使用env指定脚本的解释程序 在python源码中开头,使用env指定脚本的解释程序: #!/usr/bin/env python 1 在这里稍微解释一下...在单Python脚本开发的过程中,经常需要在command窗口中输入类似于”python test.py”的命令测试运行,会觉得很麻烦。那么如何让Python脚本能直接双击运行呢?
一、Mac(or Linux)
仅需两步操作:
1. 使用env指定脚本的解释程序
在python源码中开头,使用env指定脚本的解释程序:#!/usr/bin/env python
- 1
在这里稍微解释一下env的作用:
脚本用env启动的原因,是因为脚本解释器在linux中可能被安装于不同的目录,env可以在系统的PATH目录中查找。同时,env还规定一些系统环境变量。而如果直接将解释器路径(如下)写在脚本里,可能在某些系统环境下就会存在找不到解释器的兼容性问题。#!/usr/bin/python
- 1
2.更改Python文件后缀名
将Python文件改为 “.command” 后缀名, 即可双击运行。二、Windows
前提:Python环境及脚本都OK
修改方法:
在Python源码首行加入如下代码:#!E:\software\python2.7 # 其中E:\software\python2.7为Python安装路径
- 1
- 2
Tips: 为避免程序运行完毕还没来得及看结果程序窗口就已经关闭了,我们可以在代码最后一行加上:
raw_input("Press Enter key to exit.")
- 1
-
在windows中:双击运行Python程序、后台运行Python程序
2019-06-28 11:14:25安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退。怎样避免闪退呢? 我们用python的日志输出程序来举例说明: main.py中 View Code 一、双击运行python的具体实现 1、bat启动 start_show.bat 中...安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退。怎样避免闪退呢?
我们用python的日志输出程序来举例说明:
main.py中
- View Code
一、双击运行python的具体实现
1、bat启动
start_show.bat 中(.bat文件 必须放在main.py的同一目录下)
1
python main.py2、升级版:vbs后台运行(无界面)
start_hidden.vbs 中(.vbs 文件必须放在main.py的同一目录下,且必须有 .bat 文件同在)
1
2
Set ws = CreateObject(“Wscript.Shell”)
ws.run “cmd /c start_show.bat”,0二、windows中怎么快捷杀掉Python程序?
答:bat杀
stop_all_python.bat 中 (会杀死所有的Python程序)
1
taskkill /IM python.exe /F三、其他说明:
1、带界面双击启动
双击start_show.bat
会出现cmd窗口,同时会产生日志文件夹
2、不带界面后台运行程序
双击start_hidden.vbs
进程会增加一个python.exe进程,增加的python.exe进程为后台启动的,可以通过日志查看
3、杀死所有Python.exe进程
双击stop_all_python.bat
所有的Python进程都消失了,第1部中产生的cmd窗口也消失了。
-
macOS 如何设置 .sh 文件能够双击运行
2020-11-27 17:24:06macOS 如何设置 .sh 文件能够双击运行 参考:https://stackoverflow.com/questions/5125907/how-to-run-a-shell-script-in-os-x-by-double-clicking 看到这里,你应该已经会写 bash 脚本。 一、如何实现双击运行 ... -
qtcreator双击运行问题
2013-04-15 13:21:35chown -R xiaofeng:xiaofeng .config/ qtcreator双击运行问题 -
Linux下sh文件运行及桌面环境双击运行sh文件
2017-09-02 19:15:00sh文件运行: 1、修改为可执行权限: chmod u+x hello.sh ...桌面环境双击运行sh文件: Mac: 1、修改后缀sh变成command:hello.sh->hello.command 2、修改可执行权限:chmod u+x hell... -
Eclipse代码GUI导出桌面双击运行
2018-07-18 23:24:30可能有很多小伙伴,学Java用eclipse一段时间了,在写GUI程序时,可能有点厌倦编写好的Java,GUI程序只能在eclipse中运行,有很多小伙伴就想了,能不能把编写好的的java,GUI程序放到桌面上双击运行,甚至分享给好友... -
Ubuntu18系统qt生成程序无法双击运行问题
2019-05-05 11:26:07Ubuntu18系统qt生成程序无法双击运行问题 1.Ubuntu18 安装qt编译生成的程序文件类型为application/x-sharedlib,无法双击直接运行。文件类型应该为 x-executable 。 2.解决方法 在.pro文件中添加下面内容后,... -
windows下直接双击运行java的class文件
2018-04-01 16:18:44前两天刚学java,发现java源代码编译后的class文件不能直接在windows下双击运行,如下图中的Welcome.class如果想要运行只能在cmd或者powershell中输入:java Welcome 然后回车才能运行,很不方便。以下是解决办法:在... -
在Windows上让Python脚本像程序一样可以双击运行
2017-10-30 23:35:30在Windows上让Python脚本像程序一样可以双击运行 -
程序开机自启未正常动作,双击运行正常动作
2016-08-30 15:03:51用VS2013写了一个定时播放铃声的小控制台程序,双击 运行正常。重启,该程序开机自启动后,打开任务管理 器查看进程,发现该程序进程所使用的内存不断缓慢减 少到一定值,期间定时时间到后该程序均无动作。该程 ... -
Windows不能用鼠标双击运行jar文件
2016-11-03 10:37:17Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,...可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Windows中不能用鼠标双击运行(或者双 -
Win10从JDK安装开始设置双击运行jar包
2018-05-12 16:39:49我今天发现一个问题,我在刷完系统后jar包不能双击运行了,在网上各种找攻略基本上都是千篇一律但是都各有缺漏,因此今天我在这里写一篇总集篇(一下午的探索成果) 注意: 1. 我这篇文章是写给不想把JDK,JRE安装到... -
bat文件无法双击运行
2019-10-06 05:20:39每次双击它,只会默认以txt格式打开它,而不是运行它。 解决: 1. 双击打开“我的电脑”,然后在“工具”下选择“文件夹选项”; (如果没有“工具”这一栏菜单,请在左边的“组织”下选择“布局”,再勾选... -
ubuntu 下用qt5.12编译出的程序无法使用鼠标双击运行
2019-05-20 16:46:19问题:编译出的程序无法使用鼠标双击运行,但可以在终端下执行,与运行库是否缺失无关 mimetype 程序见结果为’application/x-sharedlib’,查看了下正常能用鼠标执行的为‘application/x-executable’(直接右键单击... -
python设置双击运行py文件
2020-11-09 16:17:36传统我们写python代码和运行都是用pycharm,sublimeText等软件完成的,那么如果一个代码需要运行多次,怎么才能让py文件快速运行,像window的exe一样双击执行呢,这里提供两种方法,一种是利用bat文件进行批处理运行... -
双击运行*.jar文件配置
2011-11-12 13:41:39双击运行Jar 应用场景:重装系统后,复用之前的JDK和JRE(没有重新运行*.exe/*.msi重装JDK和JRE),*.jar双击不能再自动运行。 1、打开“我的电脑”,选择“工具”菜单下的“文件夹选项(0)...”。 2、在... -
jar 文件双击运行
2016-03-27 17:18:00问题描述:windows 10 下双击 jar 文件闪退,设置打开方式为 java 或者 javaw 后依然无法正常运行解决方法:1.重新安装并配置 java 运行环境2.命令行下执行javaw -jar filename.jar3.创建批处理脚本,并设置打开方式... -
如何正确的双击运行jar文件
2011-02-21 11:14:00在谈这个之前,你的代码必须运行正确,并且能在dos环境下,运行java -jar xxx.jar 能够正确运行 在这之前,如果还是不能双击运行jar文件 那么你可以看下面的了: 双击运行会出现如下错误... -
C# 程序双击运行与随系统自启动运行结果存在差异
2013-09-29 12:57:51要实现程序自动升级的功能,自动升级程序采用系统自运行方式实现升级,结果发现要更新的文件未能下载到相应的目录,而通过手工双击运行自动升级程序时,更新文件有下载到相应目录。 通过跟踪,未发现WebClient.... -
Win7不能用鼠标双击运行jar文件怎么办?
2017-12-19 23:05:00Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,...可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Windows中不能用鼠标双击运行(或者... -
解决qt无法生出可执行文件或者生出可执行文件无法双击运行
2020-01-10 16:35:39Ubuntu18.04+qt5的环境 一.无法生出可执行文件的情况: 把.pro文件的TEMPLATE = lib改成TEMPLATE = app, ...如果生出的可执行文件无法双击运行,就在.pro文件加入 QMAKE_LFLAGS += -no-pie 如果还是不行,试试终端... -
deepin双击运行jar文件
2020-02-21 18:20:37在deepin中我们需要运行java -jar jar文件才能运行jar文件,但每次都这样确实比较麻烦,我们可以通过创建java启动器解决这个问题。 解决方案 在目录/usr/share/applications创建一个java.desktop文件,文件内容如下... -
javaSWing程序命令行和IDE运行没有问题,打包成jar后直接双击运行部分功能不行
2015-06-07 20:26:43-jar xx.jar运行没有问题(在IDE中运行也没有问题),但是直接双击运行在进行其中的一步操作(图像校正)的时候没有任何反应,由于是直接双击的xx.jar运行的,也就无法看到程序是否抛出了异常(通过命令行运行如果... -
如何双击运行.py
2017-03-29 21:59:08双击打开.py -
Linux 桌面双击运行脚本
2019-02-18 17:22:00创建桌面文件touch myapp.desktop 编辑此文件写入一下内容 [Desktop Entry] Name = myapp ...Exec = /usr/bin/xxxx/xxx.sh ...返回桌面 右键编辑这个文件,然后双击测试是否可以正常启动 ti...