以下是实现Python定时运行程序代码的完整攻略:
1. 安装第三方模块
我们可以使用Python的第三方模块schedule来完成定时运行某程序代码的功能,需要先安装该模块。可以通过使用pip这个包管理器来完成安装,具体命令如下:
pip install schedule
2. 导入模块
接下来,我们需要将schedule模块导入到Python源代码中,可使用以下代码:
import schedule
import time
schedule模块用于创建并管理任务列表,time模块则用于控制任务运行时间。
3. 定义任务函数
我们需要先定义一个需要定时运行的函数。以下代码为示例代码,会打印当前的时间。
def print_time():
print('Current time is:', time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
4. 添加任务
接下来我们可以使用schedule模块中的两个方法,add_job()和run_pending()来添加并运行我们定义好的函数。以下是具体代码示例:
schedule.every(10).seconds.do(print_time) #每10秒执行一遍任务
while True:
schedule.run_pending()
time.sleep(1)
在上面的代码中,我们创建了一个每10秒执行一次的任务,将print_time函数作为任务的执行代码。随后,通过while循环不断调用run_pending()方法,实现任务的自动执行。
示例说明
示例1:每10秒向指定文件中添加一行内容
import schedule
import time
def write_to_file():
with open('test.txt', 'a') as f:
f.write('Hello, world!\n')
schedule.every(10).seconds.do(write_to_file)
while True:
schedule.run_pending()
time.sleep(1)
通过打开test.txt文件并写入一行内容实现该示例的目的。程序将每10秒向test.txt文件中插入一条内容。
示例2:每天定时发送邮件
import schedule
import time
import smtplib
from email.mime.text import MIMEText
def send_email():
sender = 'example@xxx.com'
receiver = 'example@xxx.com'
msg = MIMEText('Python定时任务测试')
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = 'Python邮件测试'
smtp_server = smtplib.SMTP('smtp.xxx.com', 25)
smtp_server.login('example@xxx.com', 'password')
smtp_server.sendmail(sender, receiver, msg.as_string())
smtp_server.quit()
schedule.every().day.at('20:00').do(send_email)
while True:
schedule.run_pending()
time.sleep(1)
完成指定的任务,该示例为发送电子邮件。每天的20:00分,Python程序将会发送一封含有指定内容的电子邮件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python每天定时运行某程序代码 - Python技术站