在windows中:双击运行Python程序、后台运行Python程序

在windows中:双击运行Python程序、后台运行Python程序python

安装Python解释器的windows环境,若是双击运行*.py的文件,会闪退。怎样避免闪退呢?windows

 咱们用python的日志输出程序来举例说明:日志

main.py中orm

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、双击运行python的具体实现对象

一、bat启动blog

start_show.bat  中(.bat文件 必须放在main.py的同一目录下)进程

python main.py

  

 

二、升级版:vbs后台运行(无界面)ip

start_hidden.vbs  中(.vbs  文件必须放在main.py的同一目录下,且必须有 .bat 文件同在)utf-8

Set ws = CreateObject("Wscript.Shell") 
ws.run "cmd /c start_show.bat",0

 

 

2、windows中怎么快捷杀掉Python程序?get

答:bat杀

stop_all_python.bat  中 (会杀死全部的Python程序)

taskkill /IM python.exe /F

 

 

3、其余说明:

一、带界面双击启动

双击start_show.bat 

会出现cmd窗口,同时会产生日志文件夹

 

二、不带界面后台运行程序

双击start_hidden.vbs

进程会增长一个python.exe进程,增长的python.exe进程为后台启动的,能够经过日志查看

 

三、杀死全部Python.exe进程

双击stop_all_python.bat

全部的Python进程都消失了,第1部中产生的cmd窗口也消失了。

 

若是有用,请给个赞呗!!!多谢。(^_^)

相关文章
相关标签/搜索