首页 > 编程知识 正文

关于python定时执行任务命令的信息

时间:2023-12-24 01:06:48 阅读:319663 作者:OKLW

本文目录一览:

Python中执行系统命令常见的几种方法

作为胶水语言,Python可以很方便地执行系统命令,从而帮助我们快速的完成任务;而且Python执行系统命令可采用的方法有很多,本文重点介绍一下:os.system()、os.popen()和subprocess模块。

1. os.system()

这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。

import os

output = os.system('cat /proc/cpuinfo')

processor : 0

vendor_id : AuthenticAMD

cpu family : 21

... ...

output # doesn't capture output

2. os.popen()

这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。

output = os.popen('cat /proc/cpuinfo')

output

print output.read()

processor : 0

vendor_id : AuthenticAMD

cpu family : 21

... ...

3. subprocess模块

该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。

import subprocess

subprocess.Popen(["ls", "-l"]) # python2.x doesn't capture

output

subprocess.run(["ls", "-l"]) # python3.x doesn't capture

output

total 68

drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com

drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop

drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents

drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads

... ...

如何在Windows系统中设置Python程序定时运行

楼主最近写了一个简单的Python程序,想让这个小程序每天上午10点定时运行一次,因为我的电脑是Windows系统,无法使用Linux下强大的crontab命令,所以我只好求助于度娘。我搜到了好几个相关的网页,但是看完之后仍然不明白应该怎么做,最后经过多次推理和尝试才设置成功。我相信以后还会有人想要知道在Windows下怎么设置Python程序定时运行,因此把我的经验写在这里,希望能帮助到大家。

为了照顾更多的朋友,下面我将每一步都截图并加以简单说明,如果觉得太啰嗦可以直接翻到后面看最关键的一步如何设置。

首先,我们肯定是要用到Windows下的【计划任务】功能(注:楼主的系统是Windows8.1,但是Windows7或Windows10情况应该差不多),如下图所示:

之后点击右侧的【创建基本任务】,输入任务名称以及可选的任务描述:

点击下一步,设置任务的开始时间,这个应该没什么难度,我这里设置为每天早上10点运行此计划任务:

点击下一步,设置【操作】为【启动程序】,再点击下一步,最关键的地方来了,这里该怎么填写才能保证系统正确地运行Python程序呢?

废话不多说,先看具体的设置:

这里解释一下三个文本框内容的含义,【程序或脚本】文本框中填的是Python编译器的名称,一般就是python.exe,【起始于】文本框中填的是Python编译器的目录,上图中假设你的Python编译器的完整路径是“C:Python27python.exe”,【添加参数】文本框中填的是你的Python程序的完整路径,这里假设在C盘的Users文件夹下面有一个叫做code.py的文件。如果你的Python程序包含命令行参数,将其添加到Python程序的完整路径之后即可。

相信聪明的读者已经发现了,如果将这三部分连在一起,就是“C:Python27python.exe C:Userscode.py”,这其实就是在Windows命令行下输入“python C:Userscode.py”(或“python code.py”,如果你正好在C:Users目录下),只是在计划任务的设置中需要给出完整的python编译器的路径而已。

之后点击下一步就可以点击完成了,是不是很简单?

python如何实现程序定时执行的功能?

sleep就可以吧,把程序作为一个线程,启动线程,里面加个sleep,示例如下:

import threading

import time

class Test(threading.Thread):

def __init__(self):

pass

def test(self):

print 'run test!'

def run(self):

while True:

print time.strftime('%Y-%m-%d %H:%M:%S')

self.test()

time.sleep(5)

#test...

a=Test()

a.run()

#...test

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。