windows下执行Python脚本
由于业务需要,有些python脚本需要在Windows系统上,并且支持定时执行
1)
一. 创建.bat批处理文件
新创建文件并将扩展名改为.bat
二. 写入执行python脚本的语句
@echo off E: cd E:\xampp\htdocs\pys start python log.py prod 1 exit
三. 编写python脚本
import logging import sys import time mylog = logging.getLogger('mylogger') mylog.setLevel(logging.DEBUG) # 处理器 handler = logging.FileHandler('./logs/log_test.txt') handler.setLevel(logging.DEBUG) # 格式器 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) mylog.addHandler(handler) start_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) mylog.debug(f'log start {start_time}') args = sys.argv mylog.debug(f'script args: {args}') time.sleep(10) end_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) mylog.debug(f'log ended {end_time}')
四. 执行效果
五. 添加定时任务
1) 打开计算机管理
2)计算机管理 > 任务佳话程序 > 创建基本任务
3)创建任务
选择执行触发器:
选择执行时间:
选择执行的操作类型:
选择具体执行的脚本:
点击完成,即可:
效果:
任务已经添加到里面了, 到了时间就可以看到脚本在执行了
2) 启动的方式执行
从您提供的信息,您想要使用“启动”文件夹方法将Python脚本设置为开机自动运行。以下是详细的操作步骤: 1. **创建一个BAT文件**: - 在`C:\Users\Administrator\Desktop`目录下,右键点击 -> 新建 -> 文本文档。 - 将您提供的命令复制到该文档中: ```bash cd C:\Users\Administrator\Desktop start python 2204-2022.5.5.py start python 2205-匹配关键字邮件推送2023.3.28.py start python 2206-文件通知2023.4.13.py start python 2207-匹配关键字邮件推送2023.4.14.py start python 2208-公共服务平台2023.4.14.py start python 2209-excel监控2023.4.13.py start python 2210-匹配关键字邮件推送2023.4.11.py ``` - 然后保存此文档为`.bat`文件,例如`run_python_scripts.bat`。 2. **使用“启动”文件夹设置自动运行**: - 打开“开始”菜单,输入`shell:startup`,然后按Enter。这会打开“启动”文件夹。 - 在“启动”文件夹中,右键选择“新建” -> “快捷方式”。 - 在创建快捷方式的向导中,浏览并选择您在步骤1中创建的`run_python_scripts.bat`文件。 - 完成向导。 这样,每次您的计算机启动并用户登录时,这个bat文件就会自动运行,从而运行您的Python脚本。 注意: 确保您的Python路径已添加到系统的`PATH`环境变量中,否则上述的`start python`命令可能不会生效。
拓展:
python.exe在运行程序的时候,会弹出一个黑色的控制台窗口(也叫命令行窗口、DOS/CMD窗口);
pythonw.exe是无窗口的Python可执行程序,意思是在运行程序的时候,没有窗口,代码在后台执行。
.py和.pyw文件的区别也来源于python.exe和pythonw.exe的区别:
安装视窗版 Python 时,扩展名为 .py 的文件被默认为用 python.exe 运行的文件,而 .pyw文件则被默认为用 pythonw.exe 运行。
pyw#
.pyw格式是被设计用来运行开发的纯图形界面程序的,纯图形界面程序的用户不需要看到控制台窗口。在开发纯图形界面程序的时候,可以暂时把 .pyw 改成 .py ,运行时能调出控制台窗口,方便看到所有错误信息。
pyc#
至于.pyc文件,是Python解释器运行程序的过程中产生的字节码文件(也就是中间文件)。Python什么情况下产生pyc文件?