下面是关于 “Windows系统配置python脚本开机启动的3种方法分享”的详细攻略。
方法一:使用Windows任务计划程序
Windows任务计划程序是在指定的时间自动运行指定任务的Windows内置功能。通过它,我们可以在开机或某个特定时间点运行python脚本。步骤如下:
- 打开任务计划程序,可以通过在Windows搜索栏,输入“任务计划程序”找到它。
- 在任务计划程序中,点击“创建任务”按钮,填入任务名称,以及必要的基本信息,例如“运行python脚本”。
- 在“触发器”选项卡中,点击“新建”按钮,设置触发器的具体条件,例如“开机后立即运行”、“每天执行一次”等等,最后点击确定。
- 在“操作”选项卡中,点击“新建”按钮,填写需要运行的程序及其路径。例如:程序为python,路径为“C:\Program Files\Python36\python.exe”,参数为脚本的文件路径,例如“D:\project\test.py”。
- 然后点击确定即可完成任务的创建。
方法二:使用Windows注册表
Windows注册表是Windows系统的核心组成部分,存储了系统的各种信息。我们可以通过修改系统注册表,使得windows系统开机自动运行python脚本。步骤如下:
- 打开注册表,可以通过在Windows搜索栏,输入“regedit.exe”找到它。
- 在注册表编辑器中,找到路径“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”,右键点击“Run”文件夹,选择“新建”-“字符串值”。
- 命名新建的字符串值,在数据中键入需要自启动的程序或脚本的绝对路径,例如“C:\Program Files\Python36\python.exe D:\project\test.py”。
- 重启Windows系统,即可实现python脚本开机自启动。
方法三:使用windows服务
Windows服务是可以在后台自动运行的程序。我们可以将python脚本转化为windows服务,在系统启动后就能在后台运行。步骤如下:
- 安装windows服务:
- 下载与当前python版本对应的pywin32,例如pywin32-227-cp36-cp36m-win_amd64.whl。
- 启动命令提示符(cmd.exe)以管理员身份运行。在命令提示符中执行以下代码:pip install pywin32-227-cp36-cp36m-win_amd64.whl。
- 在cmd中进入python的安装目录中的scripts目录,运行以下命令来安装pywin32_postinstall脚本: python Scripts\pywin32_postinstall.py -install。
- 编写Python脚本。该脚本应包含在Windows服务中需要执行的所有步骤。
- 安装服务:
- 在命令提示符(cmd.exe)中以管理员身份运行。
- 运行sc create命令,创建服务,例如:sc create MyService binPath="\"C:\Program Files\Python36\python.exe\" \"D:\project\test.py\""。
- 启动服务:
- 在命令提示符(cmd.exe)中以管理员身份运行。
- 运行sc start命令,启动服务,例如:sc start MyService。
示例1:将日志文件复制到另一个目录
import shutil
import os
import time
src_path = './logs'
dst_path = './backup'
if not os.path.exists(dst_path):
os.mkdir(dst_path)
while True:
try:
for file in os.listdir(src_path):
src_file = os.path.join(src_path, file)
if os.path.isfile(src_file):
shutil.copy2(src_file, dst_path)
os.remove(src_file)
time.sleep(10)
except Exception as e:
print(e)
示例2:读取日志
import os
import time
log_path = './logs'
if not os.path.exists(log_path):
os.mkdir(log_path)
while True:
try:
with open(os.path.join(log_path, 'test.log'), 'a') as f:
f.write('Hello World!\n')
time.sleep(1)
except Exception as e:
print(e)
总结
以上三种方法都可以实现python脚本开机自启动,其中任务计划程序和注册表的方式更为简单,适合新手;而将python转化为windows服务,则更为灵活,适合较为复杂的应用场景,可以更加细粒度地控制任务的执行。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Windows系统配置python脚本开机启动的3种方法分享 - Python技术站