# encoding=UTF-8
import subprocess
class AnomalyResult:
def GET(self):
p = subprocess.Popen(['python', 'analysis/xx_analyze.py'], stdout=subprocess.PIPE)
sub_stdout = p.stdout.read().decode('gbk')
for i in sub_stdout.split('\n'):
if i.startswith('##xxx_fail_json:'):
ps_fail_info = eval(i.strip('##xxx_fail_json: '))
web.header('Content-Type', 'application/json')
return json.dumps(ps_fail_info)
“””
[‘python’, ‘analysis/iv_analyze.py’] # 执行的命令是一个列表, 否则可能会报 FileNotFoundError: [WinError 2] 系统找不到指定的文件
shell 不能设置为True
subprocess.PIPE 把标准输出保存到管道中,可以通过 p.stdout.read() 读取出来。 # pring 等打印的信息会随之返回
目的是脚本 iv_analyze.py 的标准输出中获取分析的返回结果,结果再以 json 数据格式返回
“””
版权声明:本文为sky0Lan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。