使用python写自动执行脚本并将结果返回到html中

终于在今天完成了django项目开发的一个小项目,使用python写一个自动化上线的项目。使用到了python3.5,django 1.11.2,ansible,centos7。

功能描述如下:

1、使用网页点击要上线的项目

2、在后台系统执行过程中浏览器等待后台命令调用

3、在上线完成后将后台执行的结果回传到浏览器中。

步骤解说:

1、在django中要分清楚get和post的请求方式

2、使用subprocess.Popen调用时stdout时是byes类型需要使用str(stdout,encoding=‘utf-8‘)进行类型转换,使用ansible来做底层的远程命令执行。也可以像成ansible的命令行穿了一个html的马甲。

3、在使用html展示返回内容时使用<pre>{{ Executing_processes }}</pre> 来展示输出结果,如果返回是乱码说明stdout没有做字符编码。因为使用的是python3.5版本。

4、使用shell命令nohup python manages.py runserver 0.0.0.0:8000 & 命令在后台执行。

页面展示:

选择要上线的项目

返回执行结果

写这篇博文是记录自己在python开发中的点点滴滴,准备从一名运维工程师慢慢向运维开发工程师转变。

最后附上代码

时间: 2024-10-01 07:34:06

使用python写自动执行脚本并将结果返回到html中的相关文章

使用php作linux自动执行脚本

使用php作linux自动执行脚本 [来源] 达内    [编辑] 达内   [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者某一个页面中, 以便在用户登录或访问到该时,触发运行该代码. 这样 一来, 会造成一个问题, 如果该代码教复杂, 明显减慢该页的正常调用速度. 最近在用PHP(PHP培训 php教程 )作一社区, 在写到计算最高上线人数时, 成功调试出把PHP作为 shell script直接在服务器上运行. 在作

shell写自动安装脚本自动读取license和自动输入回车

最近比较闲,在公司写了一个centreon+nagios平台源码全自动安装脚本(因为公司不能连外网,公司yum源很多东西不全,所以只能采取源码安装),其中写到安装centreon时候,执行./install -i 会需要回车读取license,而需要阅读内容比较多,需要多次按下空格键才能读完,以下使用expect来实现此部分,如果各位有比较好的方法,麻烦指点,相互学习,因为脚本已经使用,所以不便公开,这里就简单举个例子,之后应该会用python写一些开源的东西,也请大家多多指点. 1.安装exp

yii linux 自动执行脚本

今天用yii开发的系统中要配置一个自定执行的脚本 1.配置好product/config/console.php里面需要用到的组件,像数据库连接 'db'=>array(     'connectionString' => 'mysql:host=localhost;dbname=testdrive',     'emulatePrepare' => true,     'username' => 'root',     'password' => '', ), 2.继承CC

一个冷备份的自动执行脚本

花了一天多时间,捣鼓出一个SQL 脚本,用于执行ORACLE自动冷备份.记录如下: set echo off                               --关闭命令回显,但会显示执行后的命令. set serveroutput on                        --返回结果,如果关闭,将无法把结果传到下一个文件. set escape on                              --打开转义符功能,否则遇到/无法进行. set headin

Linux 开机自动执行脚本设置

1.首先将需要开机自动执行的脚本demoshell复制到/etc/init.d下 2.修改此脚本的权限 chmod 755 /etc/init.d/demoshell 3.设置启动时执行此脚本 cd /etc/init.d update-rc.d demoshell  defaults 95 最后的数字表示执行顺序,是第几个被执行的 这个命令 等价于update-rc.d demoshell start 95 2 3 4 5 . stop 95 0 1 6表示在Linux的运行2,3,4,5的级

windows 建立任务执行计划 自动执行脚本

对于windows服务器网站如果要定时执行脚本,则需要在windows控制面板里找到 管理工具,点击任务计划程序,创建任务填写任务名称 触发器里新建触发条件,设置间隔时间 在操作项,新建触发时需要做的操作,这时我们在新建一个批处理文件,里面写入要执行的命令, 例如: "E:\phpStudy\php\php-5.5.38\php.exe" -f  "E:\phpStudy\test.php"; 或者直接执行url方法 "E:\phpStudy\php\ph

【工作中的Python】自动发包脚本

背景:最近在项目验收,需要在设备上验证功能.最主要的方法就是通过在设备上配置好以后,向设备发送相关特性报文,查看设备的日志和统计. #!/usr/bin/python import os import fnmatch import subprocess import time total = 0 for fileName in os.listdir('/pcaps/APR'): if fnmatch.fnmatch(fileName, '*.pcap'): print fileName subp

用Python写的简单脚本更新本地hosts

这两天Google墙得严重,于是就产生了做个一键更新hosts的脚本的想法. 由于正在学习Python,理所当然用Python来写这个脚本了. 接触比较多的就是urllib2这个库,习惯性的import进去了.还要import一个re的库,让Python支持正则表达式.关于正则表达式我研究不多,只会点简单的,如果想了解下正则表达式可以上这个网站http://deerchao.net/tutorials/regex/regex.htm. Python比较简洁,这里就用到了个写入文件的语法.下面贴上

WinSCP自动执行脚本

我们经常使用WinSCP工具通过sftp协议上传获取文件,本文描述通过bat批量处理文件. 首先,我们打开dos命令窗口使用 cd \d :D\WinSCP 打开WinSCP安装目录 上传文件: winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:[email protected]:port" "optio