python - 如何从python中的子进程返回一个值?
问题描述
我正在使用 django 1.11。在 view.py 文件中,我正在调用这样的子进程:
def twitter_trend(request):
output = call("python /home/imsaiful/PiroProject/pironews/feed/twitter/trends.py", shell=True)
print(output)
return HttpResponse(output, content_type='text/plain')
下面给出了我的 trends.py 文件,该文件由该过程调用
import os
def sum():
print("hello world")
a = 5
b = 3
return a+b
if __name__ == '__main__':
sum()
当我调用这个文件时,它通过 HTTP 响应返回 0。
如何在 HttpResponse 中返回 a+b 的加法?
解决方案
你必须使用check_output
:
def twitter_trend(request):
output = check_output(["python", "/home/imsaiful/PiroProject/pironews/feed/twitter/trends.py"])
print(output)
return HttpResponse(output, content_type='text/plain')
并将 stdout 用于trends.py:
import os
def sum():
print("hello world")
a = 5
b = 3
return a+b
if __name__ == '__main__':
print(sum())
推荐阅读
- javascript - 如何使用 mapbox-gl 为特征点设置单独的布局属性?
- javascript - 克隆表格中的滚动条时遇到问题
- c# - 我如何在 GTK+# 中使用 GtkGLArea?
- html - 自动增加 Class CSS 中的数字
- c++ - 在 C++ 中将字符串转换为链接字符列表时遇到问题
- javascript - 根据每个属性值jquery隐藏html元素
- java - 如何在没有 Eclipse 的情况下使用 WebSphere 8.5.5
- c# - 在 button1 上单击创建变量,在 button2 上单击使用在 button1 | 中创建的变量。C# WPF
- node.js - Axios - Cheerio 如何等待所有信息从服务器加载
- swift - 您如何根据用户输入发送通知?迅速