精华内容
下载资源
问答
  • 文章目录在Windows上双击运行Python程序不会自动退出的方法前言将python.exe添加到环境变量中一个Python程序例子双击运行Python程序报错双击运行Windows Command让程序停一会程序出错时打印错误信息,自动关闭窗口...

    在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来捕捉可能发生的错误,使得在程序发生错误时,可以打印错误信息,而不会自动关闭窗口。
    展开全文
  • Python程序运行结束关闭控制台命令 在python程序后加一下代码,防止控制台自动关闭,无法看结果 raw_input("Press ")

    Python程序运行结束后不关闭控制台命令


    在python程序后加一下代码,防止控制台自动关闭,无法看结果

    input(“Press Any Key”)

    展开全文
  • 最近用 tornado 搭建了一个验证码识别的微服务,部署到CentOS7上去,比较方便的事 tornado自带web服务器,所以部署的时候只需要用python 运行即可 一、关键命令 nohup 命令:nohup python -u test.py > test.log...

    前言

    最近用 tornado 搭建了一个图像识别的微服务,部署到CentOS7上去,比较方便的事 tornado自带web服务器,所以部署的时候只需要用python 运行即可


    命令1(记录所有日志): nohup python -u tornado_server.py > test.log 2>&1 &
    命令2(只记录错误日志):nohup python -u tornado_server.py >/dev/null 2>error.log 2>&1 &
    命令3(不记录任何日志):nohup python -u tornado_server.py >/dev/null 2>&1 &

    一、命令解释:
    1. nohup 不挂断的意思
      python tornado_server.py tornado服务的启动脚本

    2. -u 代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟

    3. p.log 将输出日志保存到这个log中

    4. 2>1 2与> 结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;

    5. 2>&1 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

    6. & 最后一个& ,代表该命令在后台执行

    PS: 命令运行后显示进程号,还有使用了nohup之后,很多人就这样不管了,其实这样有可能在当前账户非正常退出或者结束的时候,命令还是自己结束了。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

    [1]   2880
    
    二、 其它相关命令
    1. 查看 nohub 命令下运行的所有后台进程:jobs

    2. 查看后台运行的所有进程:ps -aux

    3. 查看后台运行的所有python 进程:

      ps aux |grep python
      #或者
      ps -ef | grep python
      
    4. 停止进程 kill -9 [进程id]

    展开全文
  • # coding=utf-8 # 线程 import time import thread import urllib2 def get_html(url): html = urllib2.urlopen(url).read() return html # 保存网页 def save_html(data,... f = file(filename,'wb') f.writ
    # coding=utf-8
    # 线程
    import time
    import thread
    import urllib2
    
    def get_html(url):
    	html = urllib2.urlopen(url).read()
    	return html
    
    # 保存网页
    def save_html(data,filename):
    	f = file(filename,'wb')
    	f.write(data)
    	f.close()
    	
    def test(url,i):	
    	print 'gather %s: \n' % (url)
    	t = str(time.time())	
    	s = t.split('.')
    	filename = s[0] + s[1] + '-' + str(i) + '.html'	
    	data = get_html(url)	
    	save_html(data,filename)
    	thread.exit()
    
    
    # 为线程定义一个函数
    def print_time(threadName,delay):
    	count = 0
    	while count < 5:
    		time.sleep(delay)
    		count +=1
    		print "%s:%s\n" % (threadName,time.ctime(time.time()))
    
    
    url1 = 'http://www.ifeng.com'
    url2 = 'http://www.qq.com'
    url3 = 'http://re.ihopes.cn'
    url4 = 'http://www.wangye.com'
    url5 = 'http://www.4399.com/'
    url6 = 'http://www.hexun.com/'
    
    		
    # 创建两个线程
    try:
    	thread.start_new_thread(test,(url1,1,))
    	thread.start_new_thread(test,(url2,2,))
    	thread.start_new_thread(test,(url3,3,))
    	thread.start_new_thread(test,(url4,4,))
    	thread.start_new_thread(test,(url5,5,))
    	thread.start_new_thread(test,(url6,6,))
    except SystemExit:  
        # pass
    	print 'over'
    	# exit()
    except:  
        traceback.print_exc()
    
    	
    while 1:
    	# print 'over2'
    	# exit()
    	pass
    	
    

    展开全文
  • 这个跟python自己的基础架构有关,python程序被设置成运行完后就会自动关闭,如果你代码太短,计算机运行得太快,你连运行都看到就被关闭了。 解决这个的方法其实很简单,你只需要在代码的最后一行填上一个input...
  • 本代码用于检测python程序运行状态,如果运行状态结束,就重启该程序。 参考了 苍狼牧 的文章,以此致谢! 首先 add.py程序如下: import sys print sys.argv a=int(sys.argv[1]) b=int(sys.argv[2]) print &...
  • 如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。2.如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。注:0为正常退出,...
  • python退出程序-python退出程序

    千次阅读 2020-11-01 13:00:24
    python退出程序的方式有两种:os._exit(),sys.exit() 1)os._exit() 直接退出 python程序,其后的代码也不会继续执行。 2)sys.exit() 引发一个 systemexit异常,若没有捕获这个异常,python解释器会直接退出; ...
  • sublime中最近碰到两个问题 input 运行结束后,敲回车能结束这个命令,python的print 里面的 end=" "运行会报错,上面链接接里面的配置参数直接拷贝进user中,就可以同时解决上面的两种问题了 ...
  • python退出命令-python退出指令

    千次阅读 2020-11-01 13:10:34
    cmd中如何退出python (1)在命令行上输入exit() (2)在命令行上输入quit()好像还有一种方法是在命令行上输入ctrl+z,再按回车,但是我一直成功了,? 有知道出现什么问题的,麻烦给我说一下...要退出python命令行,我...
  • python 如何优雅地退出子进程

    万次阅读 2016-07-13 15:54:47
    python 如何优雅地退出子进程主进程产生子进程,子进程进入永久循环模式。当主进程要求子进程退出时,如何能安全地退出子进程呢?参考一些代码,我写了这个例子。运行之后,用kill pid试试。pid是主进程的pid。当然...
  • python控制台代码如何退出循环

    千次阅读 2019-10-21 21:48:10
    python控制台代码如何退出循环 最后一个循环指令的下个空格行输入一个TAB即可
  • python程序运行超过时长强制退出方式,防止程序卡死; 主要两种方式: 1、程序内部设置时长,超过退出 import datetime import time import datetime starttime = datetime.datetime.now() #long running endtime =...
  • python 进程超时自动退出 装饰器==**你们...刚开始在主函数内添加了超时退出,但是感觉用的方便,虽然也能实现功能,但是主函数变得特别累赘,所以还是选择写一个装饰器。 思路 利用python的多线程一个线程控制主进程
  • python脚本退出应该为负值

    千次阅读 2016-09-17 14:22:46
    Python sys.exit的退出代码 sys.exit(n)介绍 功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对...
  • 一、input语句 input('Press <Enter>') 在最后加上这个就好了,巧妙运用了input语句 ...time.sleep(number)#number为停顿时间,自己随便填一个,这样运行完代码以后会停顿number秒后再退出 ...
  • Python的for循环退出

    2017-11-12 16:26:00
    for循环如果正常结束,才会执行else语句。 我们写一个for...else类型的语句如下: #!/usr/local/python3/bin/python for i in range(10): print(i) else: print('main end') 运行之后我们会发现,在这种情况下,...
  • 然而,当运行游戏时,它会出现很短的时间并立即关闭。在我在这里找到了一些关于Stackoverflow的提示,可以在游戏结束时添加输入(“按下关闭窗口”)。事实上,这确保了窗口不会立即关闭,但对于游戏来说并实用。...
  • 怎么让python执行完脚本后不退出

    万次阅读 2018-10-05 17:44:58
    默认情况下,python执行完成后会直接退出。如果还想查看运行结果或是接着执行其他命令就不行了。遇到这种情况,可以在执行脚本的命令中添加 -i 选项,例如我想执行example.py: &gt; python -i example.py ...
  • Python线程退出控制

    千次阅读 2019-01-04 17:57:49
    Python中threading模块并没有设计线程退出的机制,原因是正常的线程退出可能会引发意想不到的后果。 例如: 线程正在持有一个必须正确释放的关键资源,锁。 线程创建的子线程,同时也将被杀掉。 管理自己的线程...
  • 这篇文章主要介绍了python子线程退出及线程退出控制的代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 下面通过代码给大家介绍python子线程退出问题,具体内容如下所示: def thread_func(): while ...
  • 对于如何结束一个Python程序或者用Python操作去结束一个... sys.exit()执行该语句会直接退出程序,这也是经常使用的方法,也需要考虑平台等因素的影响,一般是退出Python程序的首选方法。该方法中包含一个参数stat...
  • ``` #例如 a=[0,1,2,3,4],判断某一元素是不是在a中,(只是举例) b=4 for item in a: if(b==item);...#找到和没找到有不同输出,如何让程序自己判断是哪种退出循环 print("yes") print("no") ```
  • python threading 结束线程

    千次阅读 2019-11-21 17:14:07
    python threading 启动的线程,并没有提供终止线程的方法,现总结一下在网上找到的方法 1、通过threading.Thread._Thread__stop()结束线程 import time import threading def f(): while 1: time.sleep(0.1) ...
  • Python运行取消Python console模式

    千次阅读 多人点赞 2020-06-18 12:19:19
    Python里run的时候突然会发现,进入的不是run模式,而是console模式,这种运行模式能保留你每次的运行历史,因为会重开一个运行小页面,对于强迫症来说,甚是爽啊,比如???? Python console运行模式如下: 看到...
  • 方法一:使用try…except…语句,类似于if…else…,可以跳过异常继续执行程序,这是Python的优势 用法如下: 方法二:使用语句来继续执行; 拓展资料 异常处理特点: 1.在应用程序遇到异常情况(如被零除情况或...
  • 对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下。 参考: Python 核心编程 (第二版) 中文...
  • 设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。 设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,910
精华内容 21,964
热门标签
关键字:

python运行结束不退出

python 订阅