在windows系统中,双击运行python程序以及后台运行python程序的方法如下:
一、如何避免双击运行*.py文件时的闪退?
- 使用批处理文件启动
在start_show.bat文件中:
python main.py
- 升级版:使用VBS脚本在后台运行
在start_hidden.vbs文件中:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c start_show.bat", 0二、如何在Windows中快速终止Python程序?
立即学习“Python免费学习笔记(深入)”;
使用批处理文件终止:
在stop_all_python.bat文件中:
taskkill /IM python.exe /F
附录:
main.py文件内容:
import os
import logging
import time
<h1>如果日志文件夹不存在,则创建</h1><p>log_dir = "log" # 日志存放文件夹名称
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
os.makedirs(log_path)</p><h1>设置logging</h1><p>logger = logging.getLogger()
logger.setLevel(logging.DEBUG)</p><p>main_log_handler = logging.FileHandler(
log<em>dir + "/dd</em>%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)</p><p>formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
main_log_handler.setFormatter(formatter)
logger.addHandler(main_log_handler)</p><h1>控制台打印输出日志</h1><p>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)</p><p>while True:
time_stamp = time.time()</p><h1>print("时间戳",time_stamp)</h1><pre class="brush:php;toolbar:false;"><code>logger.info("时间戳 %s" % time_stamp)
sec = 3
logger.info("睡眠 %s 秒" % sec)
time.sleep(sec)</code></pre><p>文件截图:</p><p><img src="/uploads/20250430/17460155326812152caa9b8.jpg" alt="在windows中:双击运行Python" /></p><p>使用说明:</p><ol><li><strong>带界面双击启动</strong></li></ol><p>双击<code>start_show.bat</code>,会出现CMD窗口,同时会生成日志文件夹。</p><p><img src="/uploads/20250430/17460155336812152d1db54.jpg" alt="在windows中:双击运行Python" /><img src="/uploads/20250430/17460155346812152ee7020.jpg" alt="在windows中:双击运行Python" /></p><ol start="2"><li><strong>不带界面后台运行程序</strong></li></ol><p>双击<code>start_hidden.vbs</code>,进程会增加一个<code>python.exe</code>进程,增加的<code>python.exe</code>进程为后台启动的,可以通过日志查看。</p><p><img src="/uploads/20250430/17460155356812152f3fb6d.jpg" alt="在windows中:双击运行Python" /><img src="/uploads/20250430/17460155356812152fa244a.jpg" alt="在windows中:双击运行Python" /></p><ol start="3"><li><strong>杀死所有Python.exe进程</strong></li></ol><p>双击<code>stop_all_python.bat</code>,所有的Python进程都会消失,第1步中产生的CMD窗口也将消失。</p><p><img src="/uploads/20250430/17460155406812153438500.jpg" alt="在windows中:双击运行Python" /></p>











