我正在尝试使用源scripts/earnings.py
和用户生成的symbol
参数运行脚本。输出是我要放入模板的matplotlib图。
from django.shortcuts import render
import subprocess
from backtests.scripts import earnings
def index(request):
if 'symbol' in request.GET:
symbol = request.GET.get('symbol','Invalid Symbol')
request.session['symbol'] = symbol
else:
symbol = request.session['symbol']
process = subprocess.run(["python earnings", "symbol"], stdout=subprocess.PIPE)
output = process.stdout
return render(request, 'backtests/earnings.html', {'symbol' : symbol, 'output' : output})
到目前为止,我得到了错误
FileNotFoundError:[错误2]没有这样的文件或目录:'python income':'python income'
答案 0 :(得分:0)
调用subprocess.run
的正确方法是将命令的每个部分作为单独的列表条目:
process = subprocess.run(["python", "earnings.py", "symbol"], stdout=subprocess.PIPE)
正如@Bestastttung所说,您的路径也可能是错误的。尝试使用scripts/earnings.py
或文件的绝对路径。