我正在通过Python中的管道执行shell脚本,如下所示:
def(request,self):
args_str1 = "flexiserver/build/svnenv.sh -j 'svntasktag.pl ss_fvnteste'"
args1 = shlex.split(args_str1)
pi = subprocess.Popen(args1, stdout=subprocess.PIPE)
print("***** Before out err *****")
out, err = pi.communicate()
print(" OUT is %s " , out)
context = {'out':out, 'err':err}
req_context = RequestContext(request)
return render_to_response(
'pai_app/create_tag.html', context, context_instance=req_context)
此脚本正在等待用户输入,例如' i',' m'' c'喜欢争论。在用户提供任何输入之前,它不会打印而不会显示在webui中。
我的问题是,有没有可能在webui本身运行这样的Perl或shell脚本?或者针对上述问题还有其他解决方案吗?我很震惊,可以帮助我。
答案 0 :(得分:0)
虽然你的Python代码正在打开一个shell脚本的管道,这个脚本看起来像是一个Perl脚本的参数,但这个问题实际上与Python中的管道有关。
此脚本正在等待用户输入,如'i','m','c',如参数。
您可以使用pi.communicate('i')
向流程发送“i”。