前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ajax与Python服务器交互,在网页

Ajax与Python服务器交互,在网页

作者头像
py3study
发布2020-01-03 11:04:51
2.2K0
发布2020-01-03 11:04:51
举报
文章被收录于专栏:python3

说一下大概的思路:

1.目标:在输入框输入Python3代码,点击运行,右边显示代码结果。

2.步骤:

那首先我们需要一个页面来显示我们的输入输出,还有一个按钮;

然后就是通过点击按钮事件获取输入的内容;(用到了Ajax与服务器交互;它会自动封装请求行,请求头,空格,我们只需要把内容send就可以了)

再就是发生内容到服务器;

服务器接收内容;

服务器处理内容;(用正则得到我们的代码块写入新的文件命名为.py的文件,

然后用subprocess模块下的方法去获取新文件执行后的结果)

服务器返回结果,包括:响应行、响应头、空格、响应体(代码执行结果);

最后就是页面接收到返回结果,并显示到输出框。

3.遇到的问题:主要就是在处理服务器接收页面发送过来的数据,用正则拆分,这块坑比较多。

贴一下利用subprocess的实现吧:

obj = subprocess.Popen(["python3"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,universal_newlines=True)

f = open("test.py", "r")

content = f.read()

out_error_list = obj.communicate(content)

#返回结果是一个元组,元组的[0]是程序的返回结果,[1]是执行代码的错误信息提示。

print(out_error_list)

if not out_error_list[0]:

result = "请检查输入的代码正确性,谢谢!"+ out_error_list[1]

else:

result = out_error_list[0]

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档