Python命令行定时任务自动化工作流程

目录
  • 1.使用场景
  • 2.库
  • 3.运行脚本
  • 4.脚本
  • 5.python常用的定时任务
  • 6.四种方法用python调用命令行

1.使用场景

定时执行jmeter脚本,通过python定时器隔一段时间执行命令行命令。

2.库

os、datetime、threading

(1)利用threading.Timer()定时器实现定时任务

Timer方法 说明
Timer(interval, function, args=None, kwargs=None) 创建定时器
cancel() 取消定时器
start() 使用线程方式执行
join(self, timeout=None) 等待线程执行结束

timer最基本理解就是定时器,可以启动多个定时任务,这些定时器任务是异步执行,所以不存在等待顺序执行问题。

3.运行脚本

jmeter执行命令行

jmeter -n -t 脚本名称.jmx -l 脚本报告名称.jtl

参数说明:

  • n 非GUI模式,命令行模式(表示在非GUI模式下运行)
  • -t 测试文件, 要运行的jmeter测试脚本文件(一般使用绝对路径)
  • -l 结果文件,记录结果的文件
  • -h 获取jmeter帮助信息
  • -r 远程执行,启动远程服务器(non-gui模式下启动remote-hosts配置的所有远程代理机)
  • -R 远程执行,(non-gui模式下启动指定的机器(IP:PORT)作为代理机)
  • -e 设置测试完成后生成测试报表
  • -o 指定测试报表生成的文件夹,文件夹必须为空/不存在
  • -H 代理主机(设置jmeter使用的代理主机)
  • -P 代理端口(设置jmeter使用的代理端口)
  • -X 退出(non-gui模式下测试结束时退出)

4.脚本

import os
from datetime import datetime
from threading import Timer
# 定时任务
def task():
    now = datetime.now()
    ts = now.strftime("%Y-%m-%d %H:%M:%S")
    print(datetime.now())
    a = os.system("jmeter -n -t /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418.jmx -l /Users/liyinchi/workspace/功能测试/好慷/测试数据(压测脚本)/阶梯拼团多维表格20230418-result.jtl")
    print(a)
# 执行器
def func():
    task()
    t = Timer(60*1, func)
    t.start()
func()

执行结果:

5.python常用的定时任务

while True:+sleep()

threading.Timer定时器

Timeloop库执行定时任务

调度模块sched

调度模块schedule

任务框架APScheduler

分布式消息系统celery执行定时任务

使用windows自带的定时任务

6.四种方法用python调用命令行

(1)os.system

import os
a=os.system("ls")
a

运行程序会显示输出,返回值a为程序退出码

(2)os.popen

import os
a=os.popen("ls")
a.readline()

返回值为一个file文件,

file.readlines()为命令的返回值

(3)subprocess

可以在python程序中创建子进程,

subprocess.call()

import subprocess
 subprocess.call(['ls','-l' ])

其中,'ls’对应命令行输入的命令,-l为相应的操作。返回程序退出码,类似于os.system

subprocess.check_output('ls')

返回标准输出,类似于os.popen。

也可以调用Popen对象来进行操作。subprocess

import subprocess
child = subprocess.Popen('ping -c4 blog.linuxeye.com',shell=True)

此时,可以用多个命令控制子进程。也可以用subprocess.PIPE,将自进程输入输出连接……

(4)commands

import commands
 commands.getoutput('ls')

返回程序输出

到此这篇关于Python命令行定时任务自动化工作流程的文章就介绍到这了,更多相关Python命令行定时任务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 命令行解析工具 argparse基本用法

    在工作中,我们经常需要从命令行当中解析出指定的参数,而 Python 也提供了相应的标准库来做这件事情,比如 sys, optparse, getopt, argparse.这里面功能最强大的莫过于 argparse,下面就来看看它用法. import argparse # 使用 argparse 分为以下几步 # 1. 创建命令行解析器对象 parse = argparse.ArgumentParser( description="这是命令行解析器" ) # 2.给解析器添加命令行参

  • 一文详解Python定时任务触发

    目录 1.新建调度器schedulers 2.添加调度任务trigger 3.运行调度任务 4.特点,其他操作 APScheduler APScheduler 四个组件分别为: 调度器(scheduler).触发器(trigger),作业存储(job store),执行器(executor) 安装命令: pip install setuptools pip install --ignore-installed apscheduler 1.新建调度器schedulers BlockingSched

  • python定时任务timeloop库用法实例详解

    Timeloop是一个库,可用于运行多周期任务.这是一个简单的库,使用decorator模式在线程中运行标记函数. 首先安装timeloop库: pip install timeloop 示例代码: from datetime import datetime, timedelta from timeloop import Timeloop tl = Timeloop() def task(): now = datetime.now() ts = now.strftime("%Y-%m-%d %H

  • python定时任务sched库用法简单实例

    目录 前言 示例代码: 运行结果: 补充:解析 总结 前言 sched是Python的内置模块,用于事件调度,可在安全的在多线程环境中轻松实现定时任务. sched是一种调度(延时处理机制). sched是python内置库,不需要安装. 示例代码: import sched import time from datetime import datetime # 初始化sched模块的scheduler类 # 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞. sched

  • Python中命令行参数argparse模块的使用

    目录 传入一个参数 位置参数 可选参数 默认参数 必需参数 argparse 模块是Python内置的用于命令项选项与参数解析的模块,可以轻松编写友好的命令行接口,能够帮助程序员为模型定义参数. 传入一个参数 add_argument()中的type参数表示传入参数的数据类型 import argparse #定义命令行解析器对象 parser = argparse.ArgumentParser(description='参数说明') #添加命令行参数 parser.add_argument('

  • Python命令行定时任务自动化工作流程

    目录 1.使用场景 2.库 3.运行脚本 4.脚本 5.python常用的定时任务 6.四种方法用python调用命令行 1.使用场景 定时执行jmeter脚本,通过python定时器隔一段时间执行命令行命令. 2.库 os.datetime.threading (1)利用threading.Timer()定时器实现定时任务 Timer方法 说明 Timer(interval, function, args=None, kwargs=None) 创建定时器 cancel() 取消定时器 star

  • python命令行模式的用法及流程

    1.使用cmd打开命令行窗口. 2.在输入python时,进入python交互模式. 3.输入exit(),退出交互模式,在命令行模式下运行.py程序. 实例 C:\Users\86178>python Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", &quo

  • python命令行参数解析OptionParser类用法实例

    本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下: from optparse import OptionParser parser = OptionParser(usage="usage:%prog [optinos] filepath") parser.add_option("-t", "--timeout", action = "store", type =

  • 在linux的终端退出python命令行的方法

    如下所示: Python 2.7.7 (default, Jun 3 2014, 01:46:20) [GCC 4.9.0 20140521 (prerelease)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> quitUse quit() or Ctrl-D (i.e. EOF) to

  • 详解Python命令行解析工具Argparse

    最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐. 现在用python来实现命令行,核心计算模块可以用c自己写扩展库,效果挺好. 学习了argparse,在官方文档中找到一篇toturial,简单翻译了下. http://docs.python.org/2/howto/argparse.html#id1 Argparse

  • Python命令行解析模块详解

    本文研究的主要是Python命令行解析模块的相关内容,具体如下. Python命令行常见的解析器有两种,一是getopt模块,二是argparse模块.下面就解读下这两种解析器. getopt模块 这个模块可以帮助脚本解析命令行参数,一般是sys.argv[1:].它遵循着Unix的getopt()函数相同的约定(用-/--指定命令参数).这个模块提供两个函数(getopt.getopt()/getopt.gnu_getopt())和一个参数异常(getopt.GetoptError). 这里重

  • python命令行解析之parse_known_args()函数和parse_args()使用区别介绍

    在python中,命令行解析的很好用, 首先导入命令行解析模块 import argparse import sys 然后创建对象 parse=argparse.ArgumentParser() 然后增加命令行 parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate") parse.add_argument("--max_steps&

  • python命令行参数用法实例分析

    本文实例讲述了python命令行参数用法.分享给大家供大家参考,具体如下: 在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果,在linux 下很多命令其实也是用python来实现的.那么如果做到在命令行输入类似如下的命令并能得到正确的解析呢,比如 python commandline.py -l c:/temp -f c:/aaa.txt 这样的命令,并在程序中进行处理.下面详细介绍处理办法. python为我们提供了一个模块叫opt

  • 解决Python 命令行执行脚本时,提示导入的包找不到的问题

    在Pydev能正常执行的脚本,在导出后在命令行执行,通常会报自己写的包导入时找不到. 一:报错原因 在PyDev中,test.py 中导入TestUserCase里面的py文件时,会写: from TestUserCase.Test import Test 这在命Pydev中没错,但是在命令行中确出现错误. 因为在PyDev中默认路径除了当前文件所在路劲外,还有工程根路径.而在命令行中只有当前文件所在路径.TestUserCase是test.py文件的上一级目录,所以在命令行中test.py i

  • Python命令行click参数用法解析

    这篇文章主要介绍了Python命令行click参数用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.前言 在概念上, click 把命令行分为 3 个组成:参数.选项和命令. 参数 就是跟在命令后的除选项外的内容,比如 git add a.txt 中的 a.txt 就是表示文件路径的参数 选项 就是以 - 或 -- 开头的参数,比如 -f.--file 命令 就是命令行的初衷了,比如 git 就是命令,而 git add 中的 add

随机推荐