Python是一门编译程序语言,代码要运行,就需要一个翻译,
把Python语言翻译成计算机CPU能听懂的机器指令语言,让计算机执行Python程序时,这个翻译就是 Python解释器。
没有它,我们的Python代码是没有办法运行的。
Python干货教程无偿分享
Python解释器有好几种,应用于不同的语言开发,每个解释器都有各自的特点,但都可以正常运行Python代码,接下来我们就尝试用subprocess去写一个在线运行python的网站。
初始 Subprocess模块
在调用一些系统内部的命令和传不定参数时都能用该模块
Subprocess 模块有很多运行额外的进程。Subprocess 子进程模块旨在替换 os.system(), os.spawnv()等函数,os 和 popen2 模块中 popen()的变体,以及 commands()模块
用subprocess写Python
- 首先创建pyol.py文件
- 导入包
import os,sys,subprocess,tempfile,tim
- 获取python编译器的位置:sys模块里的executable方法
EXEC=sys.executable
- 定义编码方式:
def decode(s):
try:
return s.decode('utf-8')
except UnicodeDecodeError:
return s.decode('gbk')
- 写入python代码,用subprocess 的check_output方法返回子进程的输出结果在主函数里定义执行方法
outdata =decode(subprocess.check_output([EXEC, fpath],stderr=subprocess.STDOUT, timeout=5))
- 输出结果并删除文件
r['output'] = outdata
try:
os.remove(fpath)
except Exception as e:
exit(1)
- 这样我们的python就写好了
无偿分享Python干货,私信小编,免费领取整套Python教程