1.在一个文件夹名为www.html3.com的web项目来实现,首先到nginx的配置文件nginx.conf做如下配置

python和html混合编写的文件,我以文件后缀为.phtml,通过服务器配置让它重定向到 /rewrite/

2.进去项目目录下的static/html/ 编写一个1.phtml 内容如下(内容是随便写的,只是为了测试)

#define a variable

str_var = "hello world"

############# divide ################

import time

if True:

str_var2 = str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

else:

str_var2 = "nothing"

%>

phtml

start

I say:

I say:

end

注意:博主本人的想法是在html文档前放一对分隔符且只是一个,专门用于处理数据与逻辑,而后面的分隔符也就是嵌入到html文档内的那些分隔符,里面只放置一个变量名,用于输出变量值,因为时间有限,只是简简单单实现,请谅解!

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76

3.我该项目是flask项目(核心思想与web框架无关),然后写个路由,内容如下

@app.route('/rewrite/')

def rewite():

url_path = str(request.environ['REQUEST_URI'])[1:]

if os.path.exists(url_path):

oFile = open(url_path)

text = oFile.read()

pattern = re.compile('')

result = pattern.findall(text)

content = []

flag = 0

while flag < len(result):

if flag == 0:

exec(result[flag].strip())

content.append('')

else:

content.append(locals()[result[flag].strip()])

flag += 1

flag = 0

def mysub(matched):

nonlocal flag

flag2 = flag

flag += 1

return content[flag2]

res = re.sub('',mysub,text)

return res

else:

return "404 not found"

代码解释:

1.如果有看不懂request.environ['REQUEST_URI'],可以看一下博主之前写的一篇文章“nginx的rewrite ,如何在flask项目中获取重写前的url”

2.result变量用于存放匹配到分隔符内的字符串,是列表

3.content变量用于存放result列表每个元素解释后的值,而content[0]放空字符串(因为没有输出,result[0]只用于通过exec( )来执行字符串语句)

4.测试访问http://ww.html3.com/static/html/1.phtml

假设访问不存在的2.phtml

附:

通配符.  匹配除换行符\n之外的任何单字符

如果要匹配包括换行符的所有字符就不要用(.),用([\s\S])

关于如何解决贪婪匹配,加?

phppython混合开发_如何让python嵌入html实现类似php的快速开发,十分有价值相关推荐

  1. python开发板卡驱动开发_一款能让你发挥无限创意的MicroPython开发板—TPYBoard开发板测...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天 静电袋包装,打开袋子简单明了:TPYBoard开发板一块.跳线帽一个.数据线一条.说明书一份.通过数据线将开发板与电脑连接就可以DIY各种你想要的P ...

  2. 零基础python嵌入式开发_零基础Python入门教程

    第01课 python基础之python介绍 课时1python的职业方向和工资 试听 00 : 15 : 54 开始学习 课时2环境的安装 试听 00 : 14 : 16 开始学习 课时3基础班课程 ...

  3. python桌面程序开发_程序员之路:python3+PyQt5+pycharm桌面GUI开发

    先看效果: 图 1 没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想到,python也可以做出这样的界面,简直了!(图 1) 正文开始 一.安装python 为啥要说这个,我 ...

  4. python如何进行web开发_如何用Python做Web开发

    匿名用户 1级 2018-06-08 回答 1.python入门 推荐老齐<从零开始学python>,<python简明教程>,这两本书很适合小白入门(像我一样长期徘徊在编程门 ...

  5. 什么是python全栈开发_什么是python全栈

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 ...

  6. python做网站开发_如何用Python做网站开发

    很多人想要用Python做网站开发,但是又不知从何入手,接下来小编介绍用Python做网站开发需要学习哪些知识,又应该以什么样的顺序来学. 第一步:HTML(超文本标记语言)是网页的核心,学好HTML ...

  7. 如何学好python web开发_如何学好python web开发

    1.前言 我在没有接触互联网这个行业的时候,就一直好奇网站是怎么构建的.我现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,不过兴趣终归还是要有的,还要自己动手去实践的.Web开 ...

  8. 易语言和python混合编程_易语言python交互源码,不需要把易语言编译成静态库

    .版本 2 .支持库 spec .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 .局部变量 mothod, PyMethodDef .局部变量 创建结果, 整数型 .局部变量 错 ...

  9. python fpga开发_惊人!Python+FPGA 实现FPGA开发大提速?!!

    在论文中,各位教授还对PYNQ开发环境的优缺点进行了阐述: 首先来说,PYNQ应用开发框架是一个开源的开发环境,提供了标准的可以约束芯片I/O引脚的"Overlay"比特流,同时, ...

最新文章

  1. 在动作观察,运动想象和站立和坐姿执行过程中解码脑电节律
  2. 发展受阻第一至四季/全集Arrested迅雷下载
  3. css+图标偏移,css background-position 偏移的问题
  4. 如何在WebLogic Server中创建MySQL数据源
  5. 867. 分解质因数
  6. 夏普 DN7C3A006 PM2.5 传感器测量步骤及存在问题
  7. VS code gopls requires a module at the root of your workspace
  8. 淘淘商城规格参数列表显示
  9. Linux下载Java包,Linux环境Java包的安装和环境配置
  10. 为什么html字体之间有间隔,css字体间隔怎么调整?css文字间隔的调整方法
  11. Context-Aware Patch Generation for Better Automated Program Repair -上下文感知补丁生成更好的自动化程序修复
  12. Guava中这些Map的骚操作,让我的代码量减少了50%
  13. 苏云技术导航网站源码 附后台
  14. 华硕h410m-f主板检测不到硬盘启动选项?
  15. go 注册登录 mysql_golang后台 实现用户登录注册
  16. 快对作业超级计算机,快对作业2020
  17. 方便好用的软件这里就有四款
  18. 这是二哈和柯基生下的宝宝?哈撒给,简直太可爱了...
  19. 用Python基本语法实现一个购物车功能
  20. OracleERP表结构--PO模块(1)

热门文章

  1. 赫夫曼编码长度计算问题?
  2. c++模板显示实例化,显示具体化,隐式实例化
  3. Let‘s Fluent:更顺滑的MyBatis
  4. 爱奇艺体育:体验Serverless极致扩缩容,资源利用率提升40%
  5. MSSQL实践-数据库备份加密
  6. pandas指南:做更高效的数据科学家
  7. 推特惊爆史诗级漏洞,App 恶意窃取用户隐私,云端安全路向何方?
  8. 一行Python代码能干什么?有意思!
  9. Hadoop精华问答 | hadoop能干什么?
  10. Jonathan Bryce说:OpenStack属于全世界,并不属于一个公司,也不会属于一个国家……...