首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么后端python编译器不能返回结果?

为什么后端python编译器不能返回结果?
EN

Stack Overflow用户
提问于 2020-11-30 13:32:55
回答 1查看 47关注 0票数 0

我正在开发一个web应用程序,用户可以在其中编写在线代码,我将编译并运行输出。我已经创建了一个python文件,代码将在其中执行,并通过API响应返回输出。这是我的代码片段

代码语言:javascript
运行
复制
    try:
        filename = request.json['apiPath']

        cmd = 'python' + ' "' + filename + '"'
        result = check_output(cmd, stderr=STDOUT, shell=True).decode('utf-8')

        return jsonify({'terminal': result, 'success': True})

    except Exception as e:
        return jsonify({'terminal': str(e), 'success': False, 'line': False})

我正在创建一个新的python文件,并在这里运行该python文件,输出存储在一个变量中,并使用response返回。

我面临的问题是,当代码中有输入时,python编译器会停止并等待应该在后端完成的输入。我将如何使其自动化?

EN

回答 1

Stack Overflow用户

发布于 2020-11-30 14:13:43

如果您希望在服务器端处理input语句,可以使用以下架构。

  1. 当用户单击execute或任何submit按钮时,将它们发送到服务器

  1. 在服务器中,逐行执行脚本

如果命中print语句,则存储结果

如果命中input语句,则存储执行过程并将临时结果与要求输入的提示一起发送,然后等待来自client的下一个请求

  1. 收到输入请求后,使用提供的输入继续执行。

重复

  1. 直到结束。

但是,为了更好地保护您的服务器并加快执行速度,我建议您查看Web Assembly,您可以简单地将整个Python脚本放在浏览器中并执行它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65068545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档