发布时间:2019-09-18 07:24:14编辑:auto阅读(2729)
在windows中:双击运行Python程序、后台运行Python程序
一、安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退。怎样避免闪退呢?
1、bat启动
start_show.bat 中
1 | python main.py |
2、升级版:vbs后台运行(×××面)
start_hidden.vbs 中
1 2 | Set ws = CreateObject( "Wscript.Shell" ) ws.run "cmd /c start_show.bat" , 0 |
二、windows中怎么快捷杀掉Python程序?
答:bat杀
stop_all_python.bat 中
1 | taskkill / IM python.exe / F |
附录:
main.py 中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import os import logging import time # 如果日志文件夹不存在,则创建 log_dir = "log" # 日志存放文件夹名称 log_path = os.getcwd() + os.sep + log_dir if not os.path.isdir(log_path): os.makedirs(log_path) # 设置logging logger = logging.getLogger() logger.setLevel(logging.DEBUG) main_log_handler = logging.FileHandler( log_dir + "/dd_%s.log" % time.strftime( "%Y-%m-%d_%H-%M-%S" , time.localtime(time.time())), mode = "w+" , encoding = "utf-8" ) main_log_handler.setLevel(logging.DEBUG) formatter = logging.Formatter( "%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s" ) main_log_handler.setFormatter(formatter) logger.addHandler(main_log_handler) # 控制台打印输出日志 console = logging.StreamHandler() # 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象 console.setLevel(logging.INFO) # 设置要打印日志的等级,低于这一等级,不会打印 formatter = logging.Formatter( "%(asctime)s - %(levelname)s: %(message)s" ) console.setFormatter(formatter) logging.getLogger('').addHandler(console) while True : time_stamp = time.time() # print("时间戳",time_stamp) logger.info( "时间戳 %s" % time_stamp) sec = 3 logger.info( "睡眠 %s 秒" % sec) time.sleep(sec) |
文件截图:
使用说明:
1、带界面双击启动
双击start_show.bat
会出现cmd窗口,同时会产生日志文件夹
2、不带界面后台运行程序
双击start_hidden.vbs
进程会增加一个python.exe进程,增加的python.exe进程为后台启动的,可以通过日志查看
3、杀死所有Python.exe进程
双击stop_all_python.bat
所有的Python进程都消失了,第1部中产生的cmd窗口也消失了。
上一篇: Python:实现文件归档
下一篇: 【20】Python100例基础练习(4
48719
47752
38526
35726
30164
26901
25927
20773
20535
18931
324°
393°
426°
446°
434°
430°
477°
547°
661°
676°