在Linux上使用Python和Flask创建你的第一个应用
我们会使用3.x的版本来构建我们的app。根据Python.org所说,现在只对这个版本进行改进,而且不向后兼容Python 2。
注意: 在开始之前,我强烈建议你在虚拟机中尝试这个教程,因为Python是许多Linux发行版的核心组件,任何意外都可能会损坏你的系统。
以下步骤是基于红帽的版本如CentOS(6和7),基于Debian的版本如UbuntuMint和Resbian可以跳过这步,Pythonn 3应该默认已经安装了。如果没有安装,请用apt-get而不是yum来安装下面相应的包。
要创建虚拟环境你需要使用“pyvenv-3.4”命令。上述命令会在venv文件夹的内部创建一个名为lib的目录,这里会安装项目所依赖的包。这里同样会创建一个bin文件夹容纳该环境下的pip和python可执行文件。
为我们的Linux系统信息项目激活虚拟环境在python3.4-flask文件夹中创建一个名为app的文件夹,它包含了两个子文件夹“static”和“templates”。我们的Python脚本会放在app文件夹,像css/js这类文件会在static文件夹,template文件夹会包含我们的html模板。
第二步:在app文件夹内部创建一个初始化文件这个文件会创建一个Flask的新的实例,并加载我们存储在index.py文件中的python程序——这个文件我们之后会创建。
这个类会使用一个列表作为参数,列表的第一项默认是可执行的程序,下一项会是参数,这里是个另外一个例子。
subprocess.Popen([ls, ‘-l’],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
stdout和stderr会相应地存储命令的输出和错误。你可以使用Popen的communicate方法来访问输出。
out,error = cmd.communicate()
要更好地用html模板显示输出,我会使用splitlines()方法,
memory = out.splitlines()
关于subprocess模块更多的信息会在教程的最后给出。
第三步:创建一个html模板来显示我们命令的输出。要做到这个我们使用flask中的Jinja2模板引擎来为我们渲染。
最后你的index.py文件应该看起来像这样:
现在在你的模板目录下创建一个index.html模板,flask会自动搜索这个目录下的模板。
上面的代码会在debug模式下运行app。如果你不指定 IP 地址和端口,默认则是localhost:5000。
我已经加了更多的代码来显示CPU、I/O和平均负载。
----------------------------------------------------------------------------------------------------------------------------
本文来自云栖合作伙伴“linux中国”
Python对象的创建流程 Python对象的创建流程自制脑图 类是一个用来创建对象的对象,类是 type 类型的对象,定义类实际上就是定义了一个 type 类型的对象。
相关文章
- 【Linux】linux常用基本命令
- python在windows和linux环境的进程对比
- 单柱柱形图与多柱柱形图的绘制 基于python-matplotlib库
- python 保存图片_用Python从视频中提取每一帧的图片
- 默认镜像自带的python版本过低,dockerfile升级python3.7.4版本,后版本没生效,多版本python3,指定python版本安装包
- 2023版python安装教程奉上,Python永久使用 超详细版,一看就会【小白友好】
- Python分享:python爬虫可以用来做什么?
- 71 python - 打飞机案例(搭建界面)
- Python【demo】 获取 Linux 系统主机信息
- python 异常处理
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 利用python制作在Linux服务器后台定时运行的任务-邮件提醒
- Python中int、str、bytes相互转化,还有2进制、16进制表示,你想要的都在这里了
- 《树莓派Python编程入门与实战》——第2章 认识Raspbian Linux发行版
- 《树莓派Python编程入门与实战》——2.1 了解Linux
- linux下安装python dlib依赖
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
- Linux内核project导论——linux学习和职业曲线(刚開始学习的人,中级,高级都可參考)
- Python 基础 之 python 协程知识点整理,并实现一个简单 gevent 的协程并发图片下载的应用
- Python 基础 之 python 线程知识点整理,并实现一个简单多线程 udp 聊天应用
- Unity 工具 之 报错 Jenkins 执行/调用 Python 脚本,报错提示 ‘python‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
- Linux学习笔记(25)linux批量管理
- Linux学习笔记(21)linux查看系统状态
- python五十六课——正则表达式(常用函数之match)
- Python - 3.6 学习四
- 【Linux】linux下用python获取底层硬件信息接口
- 这你能相信?有人用Java、Python、C、C++、Go、JS等等各种语言把所有算法实现了一遍
- Python zip