Flask实现Python在线编辑器(一)
Flask实现Python在线编辑器
导读
看到网上有一些
Python
的在线运行编辑工具,一时来了兴趣,想要模仿一下,自己新建一个应用试一下.
前置知识
sys
:负责程序与Python
解释器的交互,提供了一系列的函数和变量,用于控制Python
运行时的环境.
sys.argv
接收命令行参数,生成一个List,第一个元素是程序本身路径 sys.exit(n)
推出程序,正常退出 exit(0)
sys.version
获取Python解释程序的版本信息 sys.stdout
标准输出 sys.stdin
标准输入 sys.stderr
标准错误 sys.executable
执行的python路径 sys.platform
返回操作系统平台名称
os
:提供了非常丰富的方法来处理文件和目录
os.listdir(path)
返回指定路径下的文件和文件夹列表。 os.open(file, flags[, mode]);
用于打开一个文件
测试
在在线运行工具中输入以下内容:
#!/usr/bin/python
import sys
import os
print(sys.version_info)
print(sys.executable)
print(sys.path)
print(os.listdir(sys.path[0]))反馈信息:
sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0)
/usr/local/python-3.8.1/bin/python3
['/box', '/usr/local/python-3.8.1/lib/python38.zip', '/usr/local/python-3.8.1/lib/python3.8', '/usr/local/python-3.8.1/lib/python3.8/lib-dynload', '/usr/local/python-3.8.1/lib/python3.8/site-packages']
['script.py', 'run']可以看到有一个
script.py
文件生成出来,猜测应该是把填入的内容POST
写入到一个文件中,然后运行文件,返回结果,测试如下:#!/usr/bin/python
import sys
import os
print(sys.version_info)
print(sys.executable)
print(sys.path)
print(os.listdir(sys.path[0]))
with open("/box/script.py") as e:
print(e.read())反馈
sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0)
/usr/local/python-3.8.1/bin/python3
['/box', '/usr/local/python-3.8.1/lib/python38.zip', '/usr/local/python-3.8.1/lib/python3.8', '/usr/local/python-3.8.1/lib/python3.8/lib-dynload', '/usr/local/python-3.8.1/lib/python3.8/site-packages']
['script.py', 'run']
#!/usr/bin/python
import sys
import os
print(sys.version_info)
print(sys.executable)
print(sys.path)
print(os.listdir(sys.path[0]))
with open("/box/script.py") as e:
print(e.read())
服务器创建
正好手里有一台云服务器,系统是
Ubuntu server 18
,所以用它来做一个测试环境.
安装
anaconda
我比较习惯于使用anaconda的包管理环境,如果你使用
virtualenv
也可以.1.在Web浏览器中,转到Anaconda下载页面
2.下载
Bash
脚本(由于我的是小水管,下载特别慢,今天就先到这里,估计明天就下载完了)$ curl -O https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
1 521M 1 8991k 0 0 14517 0 10:27:53 0:10:34 10:17:19 3148