flask执行python脚本_如何从Flask应用程序执行Shell脚本
要在Python中显示命令输出,有两种常用方法:check_output():它使用参数运行命令并返回其输出。(official documentation)
subprocess.communicate():与进程交互:向stdin发送数据。从stdout和stderr读取数据,直到到达文件末尾。(official documentation)
我可以使用Ubuntu机器中的Python 3.5使用这两种方法查看shell文件输出。
app.py:import subprocess
from subprocess import Popen, PIPE
from subprocess import check_output
from flask import Flask
def get_shell_script_output_using_communicate():
session = subprocess.Popen(['./some.sh'], stdout=PIPE, stderr=PIPE)
stdout, stderr = session.communicate()
if stderr:
raise Exception("Error "+str(stderr))
return stdout.decode('utf-8')
def get_shell_script_output_using_check_output():
stdout = check_output(['./some.sh']).decode('utf-8')
return stdout
app = Flask(__name__)
@app.route('/',methods=['GET',])
def home():
return '
'+get_shell_script_output_using_check_output()+'
'
app.run(debug=True)
some.sh:#!/bin/bash
echo "hi from shell script"
echo "hello from shell script"
输出屏幕截图:
flask执行python脚本_如何从Flask应用程序执行Shell脚本相关推荐
- shell脚本和python脚本和go脚本的区别_Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例-Go语言中文社区...
NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 1)标准输入.标准输出及标准错误输出的接口: child.stdin 获取标准输入 child.stdout 获取标准输出 chi ...
- scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了
scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了 原因 If any execution of the task encounters an ...
- linux停止jar程序,Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法
废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${ ...
- linux启动脚本springboot,Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法
废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` cur_shell_dir=`pwd` cur_shell_name=`basename ${ ...
- flask执行python脚本_如何在Flask中运行python脚本
我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...
- python flask源码解析_浅谈flask源码之请求过程
Flask Flask是什么? Flask是一个使用 Python 编写的轻量级 Web 应用框架, 让我们可以使用Python语言快速搭建Web服务, Flask也被称为 "microfr ...
- linux如何执行python文件_以linux命令执行Python文件 - python
Closed. This question needs to be more focused.它当前不接受答案. 想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题 ...
- uibot在子程序执行js失败_使用 Node.js 将珍藏的 bash 脚本封装成命令行工具
阐述如何将一个常用的 bash 脚本融入 npm 生态之中,此处以最近遇到的一个 CR 提交脚本为例. 背景 作为程序猿,大家或多或少地都用过 GitHub 上的 merge request 功能.当 ...
- windows制作定时关机脚本_自动关机、自动打开程序… 让Windows自动执行任何操作...
文章转载于网络,侵删 Windows 中有一个非常棒的功能,叫做"任务计划程序",但是因为它的界面看起来有点复杂,导致很少有人使用它. 其实对于任何人而言,"任务计划程序 ...
最新文章
- jsp java乱码转换_Java Web 编码问题一:jsp的编码问题
- 学习《Linux设备模型浅析之设备篇》笔记(深挖一)
- android 自定义命名空间,Android自定义ActionBar实例
- 基于Service Mesh构建更现代的服务架构
- 博客作业02---线性表
- 【安全漏洞】一次前台任意文件下载漏洞挖掘
- JSP脚本 9大内置对象
- WebStorm荣获InfoWorld2014年度科技奖
- C++类的使用(二)—— explicit构造与const成员赋值
- 冠军奖10万日元+10公斤柠檬!一个简单的柠檬图像分级竞赛
- 2021年德国汽车产量预计同比锐减18%
- 河南省多校连萌(一) E题【kruskal】
- 程序员面试金典——18.10字符串变换
- javascript 函数,数组,document.write()
- Excel实现电子发票管理
- 数学-盲点题:九个点用四条直线连起来
- camera中文版软件 ip_摄像头监控软件|IP Camera Viewer V 3.0.4.0 官方版-完美软件下载...
- 人体时钟屏保-widows电脑屏幕保护
- 前端工程师的 caniuse
- allegro artwork设置和颜色设置的导入导出