当前位置:首页>python>Python脚本部署Windows后台运行

Python脚本部署Windows后台运行

  • 2026-09-11 07:52:46
Python脚本部署Windows后台运行

Python自动化脚本部署到Windows后台运行

很多朋友写完Python脚本后,会遇到一个共同的烦恼:双击运行会弹出一个黑乎乎的控制台窗口,关掉就停了,服务器重启又得手动启动一次。今天我们就来解决这个问题,让你的脚本像Windows服务一样在后台静默运行。


一、为什么不能直接双击运行?

Python脚本默认是控制台程序,运行时会强制弹出一个CMD窗口。对于需要长期跑、又不希望被用户误关的服务型脚本(比如定时同步、消息推送、爬虫监控),这种"前台运行"模式完全不适用。

常见的痛点有三个:

  •  
  • 控制台窗口总是抢焦点,影响其他操作
  •  
  • 不小心点关闭窗口,进程直接退出
  •  
  • 电脑重启后必须人工登录再启动一次

二、第一招:用pythonw.exe替代python.exe

Python安装目录下其实有两套可执行文件:

可执行文件行为
python.exe运行.py时弹出控制台窗口
pythonw.exe运行.pyw时无窗口,仅后台执行

把脚本后缀改成 .pyw,双击就不会有黑窗口了。但这只是"无窗口",还不能开机自启。

三、第二招:bat + VBS 隐藏控制台启动

这是企业里最经典的方案。我们写两个小文件配合:

1. start_hidden.vbs(用来隐藏CMD窗口)

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "run.bat", 0, False
Set WshShell = Nothing

2. run.bat(真正执行Python脚本)

@echo off
cd /d C:\Users\111\myproject
pythonw.exe main.py

双击 start_hidden.vbs,CMD窗口不会出现,Python进程已经在后台跑起来了。任务管理器里能看到 pythonw.exe,说明脚本在正常工作。

四、第三招:加入开机自启

把 start_hidden.vbs 的快捷方式丢到 Windows 启动文件夹即可:

Win + R 输入 shell:startup
把 vbs 的快捷方式拖进去

这样每次开机登录,脚本就会自动以隐藏方式启动,完全无需人工干预。

五、生产环境更优解:nssm 注册为Windows服务

如果脚本需要长期稳定运行(比如Web服务、监控守护进程),推荐用 nssm(Non-Sucking Service Manager)把它注册成Windows服务。优势在于:

  •  
  • 支持崩溃自动重启
  •  
  • 支持开机自启(无需登录桌面)
  •  
  • 可以用 sc query 或 net start 管理

核心命令只有一行:

nssm install MyService "C:\Python39\pythonw.exe" "C:\app\main.py"
nssm start MyService

写在最后

从 pythonw.exe 到 vbs + bat,再到 nssm 服务化,脚本的"后台化"程度越来越高。个人小工具用第二种就够,企业级服务建议直接上第三种。掌握这套组合拳,你写的任何Python程序都能在Windows上"7×24"无人值守运行。


扫码添加秦杰,探讨AI智能体落地应用

最新文章

随机文章