gpt4 book ai didi

python - 文本输入和服务器之间的接口(interface),用于使用该文本执行命令行应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:45 26 4
gpt4 key购买 nike

作为学习练习,我正在尝试创建 codepad.org 的简化克隆,而我想要支持的第一种语言是 C。

对于上下文:如果我正在制作一个简单的笔记 Web 应用程序(例如简单的 Evernote),我可以看到架构是如何简单的,您需要运行一个服务器来路由请求,因此,如果我有三个按钮(新建、保存、打开),如果我单击“新建”,它会呈现一个允许您输入单词的页面,如果我单击“保存”,服务器会获取该数据,然后存储在数据库中,但是所有这些都是非常独立的,不涉及打开终端的额外组件在我的应用程序运行的框中,然后使用用户插入文本输入表单的代码在框文件系统上创建一个文件,然后执行命令行命令以根据语言编译/解释代码。

如何做到这一点?

我可以看到步骤如下:

  1. Node.js 或 Flask 服务器正在运行

  2. 我转到 localhost:9000,然后呈现一个模板,其中包含一个表单,我可以将代码文本放入其中

  3. 我从语言下拉列表中选择“C”

  4. 我编写了一些简单且有效的 C 代码

  5. 我点击“执行”

  6. 服务器路由此 POST 请求和数据以用作要执行的代码,并以某种方式实例化一个新的终端 session ,将文件保存到磁盘,然后执行所需的命令 (gcc temp1.c -o temp1.x)

  7. temp1.x 正在执行,标准输出中出现的任何内容都会通过服务器传输回页面,并相应地呈现输出。

我该如何做 6 和 7?不是寻找分步说明,而是我应该查找某个单词或编程概念来了解如何执行此操作?我正在考虑在 Flask 中编写应用程序或将其作为 Node.js 应用程序编写,具体取决于可用的内容,但我愿意接受任何建议。我进行了相当多的搜索,但没有找到适当使用的词语,以便进一步询问如何实现在实际物理服务器上运行的服务器应用程序与操作系统允许您使用的其他工具之间进行接口(interface)的额外步骤......

希望这个问题有意义,而且我知道这不是一个特定的编程问题,但我不知道除了 Stack Overflow 之外还能把它放在哪里。

感谢您的帮助。

最佳答案

  1. 要保存文件,您可以使用Flask API 。要运行该命令,您可以使用 subprocess.Popen.

  2. 您还可以使用 subprocess.Popen 来获取输出。基本上,在调用 Popen() 时,您需要设置参数 stdin=subprocess.PIPE,然后调用 subprocess.Popen.communicate() 来获取输出。例如:

    cmd = subprocess.Popen("command to run C code", stdin=subprocess.PIPE)
    output = cmd.communicate()[0]

我强烈建议 Flask,您可以在其中快速构建该应用程序的原型(prototype)。

关于python - 文本输入和服务器之间的接口(interface),用于使用该文本执行命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25101184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com