文章目录

  • 一、定时
    • 循环sleep:
    • threading的Timer:
    • 使用sched模块:
    • Scheduler:
  • 二、进程
    • 单次运行
    • 循环运行
  • 三、关闭win程序
  • 四、打开win程序(win32api实现)
    • 安装
    • 运行

一、定时

Python下实现定时任务的方式有很多种方式。下面介绍几种

循环sleep:

这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数。

def timer(n): ''''' 每n秒执行一次 '''while True:  print time.strftime('%Y-%m-%d %X',time.localtime())  yourTask() # 此处为要执行的任务  time.sleep(n)

threading的Timer:

threading模块中的Timer能够帮助实现定时任务,而且是非阻塞的。
比如3秒后打印helloworld:

def printHello(): print "hello world"

Timer(3, printHello).start()
比如每3秒打印一次helloworld:

def printHello(): print "Hello World"t = Timer(2, printHello) t.start() if __name__ == "__main__": printHello()

使用sched模块:

sched是一种调度(延时处理机制)。

# -*- coding:utf-8 -*-
# use sched to timing
import time
import os
import sched # 初始化sched模块的scheduler类
# 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
schedule = sched.scheduler(time.time, time.sleep) # 被周期性调度触发的函数
def execute_command(cmd, inc): ''''' 终端上显示当前计算机的连接情况 '''os.system(cmd) schedule.enter(inc, 0, execute_command, (cmd, inc)) def main(cmd, inc=60): # enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数, # 给该触发函数的参数(tuple形式) schedule.enter(0, 0, execute_command, (cmd, inc)) schedule.run() # 每60秒查看下网络连接情况
if __name__ == '__main__': main("netstat -an", 60)

Scheduler:

-*- coding:utf_8 -*-
import os,schedule,time
def job():
cmd='taskkill /F /IM phantomjs.exe'
os.system(cmd)
schedule.every().day.at("00:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)

二、进程

单次运行

代码如下(示例):

def printHello(): print "hello world"Timer(3, printHello).start()

循环运行

代码如下(示例):

# -*- coding:utf_8 -*-
from threading import Timer
def job(): t = Timer(600, job) t.start()
if __name__ == "__main__": job()

三、关闭win程序

cmd='taskkill /F /IM Thunder.exe'
os.system(cmd)

四、打开win程序(win32api实现)

安装

在Python for Windows Extensions Files下载对应版本的pywin32,安装后能在C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\win32找到对应的win32api.py文件,因此这样导入:

from win32 import win32api

运行

win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 0) # 后台执行
win32api.ShellExecute(0, 'open', 'notepad.exe', '', '', 1) # 前台打开
win32api.ShellExecute(0, 'open', 'notepad.exe', '1.txt', '', 1) # 打开文件
win32api.ShellExecute(0, 'open', 'http://www.sohu.com', '', '', 1) # 打开网页
win32api.ShellExecute(0, 'open', 'D:\\Opera.mp3', '', '', 1) # 播放视频
win32api.ShellExecute(0, 'open', 'D:\\hello.py', '', '', 1) # 运行程序

python定时重启程序相关推荐

  1. python定时关机程序_Python练习小程序之定时关机小脚本(代码教程)

    就不多介绍了,直接上代码吧. #coding:utf-8 import datetime, time, os, wx import tkinter, threading from tkinter im ...

  2. Linux 定时重启某个服务

    1.创建start.sh脚本,该脚本用于杀死进程并重启服务 #!/bin/sh #需要定时重启程序的绝对路径 RESOURCE_NAME=/home/gm_prox_zf/manage.py #查找进 ...

  3. linux下用脚本语言开发自动重启程序

    由于最近要负责一个项目的维护工作,这个服务器总是出现段错误,由于时间比较紧张,我就写了一个简单的重启脚本,先让服务器不至于总是dump掉. 废话不多说,先上代码: #!/bin/sh CheckPro ...

  4. Linux定时重启服务脚本

    服务启动脚本cronStartTinyproxy.sh 放在/etc/tinyproxy目录 touch cronStartTinyproxy.sh #!/bin/sh #需要定时重启程序的绝对路径 ...

  5. 树莓派自启动python程序,远程树莓派桌面,重装树莓派系统,串口驱动,永不休眠,树莓派旋转屏幕方向,树莓派定时重启,修改矫正树莓派时间,raspbian Linux 系统命令常用

    一.树莓派4B自启python的脚本方法 1.rc.local文件修改 (1)新建运行脚本 pi@zero:~/raspberry $ sudo nano test.sh #!/bin/sh cd / ...

  6. linux 程序定时重启tomcat,linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

  7. 任务计划程序-Windows2008定时重启

    Windows系统的任务计划程序,可以添加计划任务,设置任务开始时间及执行的间隔,实现应用的自动执行.例如:实现定时重启.关机等常见的功能.如何使用参考以下步骤 1.新建一个文本文件,将文件后缀改为b ...

  8. python重启程序代码_重启python程序

    跑程序跑到后面就越跑越慢了,就学习了一下重启程序的命令. 这是远程服务器跑的程序,亲测有用. import os import sys def restart_program(): print(&qu ...

  9. python 重启程序_python重启程序

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! # 重启程序 def restart_program():print(重启... ...

  10. python定时播放音乐程序_python实现定时播放mp3

    python实现定时播放mp3 程序很简单,主要是 mp3play 模块的应用 import mp3play, time filename = "Should It Matter.mp3&q ...

最新文章

  1. (转)__declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定
  2. css --- 让不同的浏览器加载不同的CSS
  3. python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
  4. [Oracle整理]CASE-END
  5. Spring MVC 实践 - Base
  6. 第一次使用SSE指令集
  7. bzoj4974: [Lydsy1708月赛]字符串大师
  8. python工具包:random的注意事项
  9. win7 自带计算机(for programmer)
  10. 基于单片机USB接口的温度控制器
  11. photoshop常用图片处理技巧
  12. linux下安装redis报Mmmm... it seems like you don‘t have a redis executable. Did you run make install yet?
  13. linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
  14. 从汇编的角度理解什么是引用
  15. 威联通TS231nas虚拟服务器,威联通NAS小技巧:自带VS3软件下安装win7虚拟机
  16. Unreal 4 更改Engine位置
  17. 阿里云oss对象存储的使用
  18. Arduino Mega2560 PWM
  19. 基于51单片机的LED呼吸灯设计(定时器)
  20. 计算机网络八股文-面试必问

热门文章

  1. Python语言程序设计基础_期末作品设计——程序员计算器(2020-2 A)_答案_通识教育必修课程_上海师范大学
  2. ff14离线查看客户端日志小技巧
  3. URLDecoder.decode 过时
  4. 喜马拉雅下载成mp3方法
  5. html+css改字体,css怎么改字体样式?
  6. 51单片机 模块化编程
  7. 手把手教你写Java项目文档
  8. seay代码审计工具_代码审计入门实战
  9. 如何修改VS编译器的背景图:快来换属于你的背景图!!!!!
  10. Tabulator PDF下载中文字体设置