import os, sys, subprocess, timeclass AdvanceQuery(object):def __init__(self):self.TempFile = "media/advance_query"# 文件名self.FileNum = int(time.time() * 1000)# python编译器位置self.EXEC = sys.executable# 获取python版本def get_version(self):v = sys.version_infoversion = "python %s.%s" % (v.major, v.minor)return version# 获得py文件名def get_pyname(self):return '%d' % self.FileNum# 接收代码写入文件def write_file(self, pyname, code):if not os.path.exists(self.TempFile):os.mkdir(self.TempFile)fpath = os.path.join(self.TempFile, '%s.py' % pyname)with open(fpath, 'w', encoding='utf-8') as f:f.write(code)# print('file path: %s' % fpath)return fpath# 编码def decode(self, s):try:return s.decode('utf-8')except UnicodeDecodeError:return s.decode('gbk')def query_main(self, code):r = dict()r["version"] = self.get_version()pyname = self.get_pyname()fpath = self.write_file(pyname, code)try:# subprocess.check_output 是 父进程等待子进程完成,返回子进程向标准输出的输出结果# stderr是标准输出的类型"""subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)父进程直接创建子进程执行程序,以字符串的形式返回子进程的输出。"""outdata = self.decode(subprocess.check_output([self.EXEC, fpath], stderr=subprocess.STDOUT, timeout=5))except subprocess.CalledProcessError as e:# e.output是错误信息标准输出# 错误返回的数据r["code"] = 'Error'r["output"] = self.decode(e.output)return relse:# 成功返回的数据r['output'] = outdatar["code"] = "Success"return rfinally:# 删除文件(其实不用删除临时文件会自动删除)try:os.remove(fpath)except Exception as e:exit(1)# 显示csv列表def csv_list(self):path = os.getcwd()alist = []for i in os.listdir(os.path.join(path, "csv")):# print(os.path.join(path, "csv"))if i.split(".")[1] == "csv":alist.append(i)data = {"csv_list": alist}return data# 根据csv返回相应语句显示def show_statement(self, st):if st:data = 'import pandas as pd\ndp = pd.read_csv("csv/%s")' % streturn data

python 在线编译器相关推荐

  1. python在线编辑器最新_skulpt搭建Python在线编译器(一):下载、安装

    1.python在线编译器的解决方案 方案一:vscode web版(vscode online) 大名鼎鼎的vscode 推出了web版,也就是说可以在网页上进行编程了. github地址:http ...

  2. python3在线编程、python3在线编译器、在线编辑器_skulpt搭建Python在线编译器(一):下载、安装...

    1.python在线编译器的解决方案 方案一:vscode web版(vscode online) 大名鼎鼎的vscode 推出了web版,也就是说可以在网页上进行编程了. github地址:http ...

  3. 有没有那种python在线编译器_推荐几个好用的在线编译器

    前言 为什么要使用在线编译器呢?有时候自己的电脑不在身边,或者又不想打开IDE,或者本身就没有安装某种语言的编译环境,只想写个小demo验证点东西,在线编译器就很方便了:对于初学者而言,也可以很方便的 ...

  4. python在线编译-python在线编译器的简单原理及简单实现代码

    我们先来看一下效果(简单的写了一个): 原理:将post请求的代码数据写入了服务器的一个文件,然后用服务器的python编译器执行返回结果 实现代码: #flaskrun.py # -*- codin ...

  5. 在线python编程编译器-python在线编译器的简单原理及简单实现代码

    我们先来看一下效果(简单的写了一个): 原理:将post请求的代码数据写入了服务器的一个文件,然后用服务器的python编译器执行返回结果 实现代码: #flaskrun.py # -*- codin ...

  6. python在线编译器简单实现

    因为项目,需要在网页中嵌入编译器.这个分为两部分,前端单独编译器及后端flask服务,前端编译器部分可参考:https://blog.csdn.net/qq_37193537/article/deta ...

  7. 西瓜创客python在线编译器_西瓜创客在线少儿编程 - 课程

    ${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录. 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: $ ...

  8. 西瓜创客python在线编译器_西瓜创客在线少儿编程 - 主页

    ${content} 你输入的邮件地址曾经通过${type}激活了本站帐号,请使用${type}帐号直接登录. 课程习题 : 提示 请选择一个答案 提交 查看正确答案 下一题 ${option}: $ ...

  9. 在线python编程编译器-在线编译或编辑Python的5个最佳工具

    离线Python编辑器和编译器都具有许多功能,但是在线编译器通常在功能上受到限制,并试图满足特定需求而不是满足所有需求,其中在线编译大多数是免费的,所以也受到开发者的热爱. 在本文中,我们将浏览各种狂 ...

  10. python小项目:实现C语言在线编译器

    大家好,我是牛牛. 今天给大家分享一下利用python制作C语言在线编译器的小案例,主要包含以下几部分内容: 1.项目构建与准备 2.搭建python服务器 3.前端页面与逻辑实现 4.服务端代码逻辑 ...

最新文章

  1. java 关键字(面试题)
  2. R语言ggplot2可视化自定义图例实战:添加自定义的图例、添加填充色的图例
  3. python json包_python编程 之 json包
  4. 在网页中通过百度地图查看某地的经纬度
  5. 【Java】什么是多态?多态的实现机制是什么?
  6. requestAnimationFrame 优化Web动画
  7. AcWing 1750. 救生员(差分+暴力枚举)
  8. 35. 源码与 Tarball
  9. 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找
  10. vue3+ts封装echarts
  11. VMWare Fusion 安装 Centos7操作系统
  12. HCIA-Cloud Computing华为云计算IA认证笔记
  13. 仿豌豆荚实现android连接pc方法
  14. VMware拟收购云应用管理服务商Wavefront
  15. 影响应用商城搜索排名的因素
  16. LeetCode 299. Bulls and Cows(公牛和母牛)
  17. KodBox_v1.15_学习笔记
  18. 4个最好的在线漫画生成器,轻松创作漫画
  19. 微信小程序【人脸识别功能】
  20. 简单的35选7彩票系统

热门文章

  1. SeaWeedfs 分布式网络文件存储介绍
  2. 从零开始变成一个脚本小子001-初窥密码
  3. 黑客攻防之告别脚本小子-----精简实用渗透测试python小白入门
  4. JavaScript中null、underfined、NaN的辨别以及数据类型的检测
  5. Weighted Boxes Fusion加权检测框合并
  6. 【Kotlin】FarawayPlayer
  7. 联想y50更换固态硬盘_【联想Y50-70】更换固态硬盘,极速开机~
  8. 自动化测试之数据驱动测试
  9. laravel很慢_Laravel网站打开速度优化的方法汇总
  10. Window Live Writer Test