Python 将文本转换成html的简单示例
实例txt文件test_input.txt:
Welcome to World Wide Spam. Inc.
These are the corporate web pages of *World Wide Spam*,Inc.We hope
you find your stay enjoyable,and that you will sample many of our
products.
A short history if the company
World Wide Spam was started in the summer of 2000.The business
concept was to ride the dot-com wave ande to make money both through
bulk email and by selling canned meat online.
After receiving several complaints from customers who weren't
satisfied by their bulk email.World Wide Spam altered their profile,
and focused 100%on canned goods.Today,they rank as the world's
13,892nd online supplier of SPAM.
Destinations
From this page you may visit several of our intersting web pages:
-What is SPAM?(http://wwspam.fu/whatisspam)
-How do they make it?(http://wwspam.fu/howtomakeit)
-Why should I eat it?(http://wwspam.fu/whyeatif)
How to get in touch with us
You can get in touch with us in *many* ways: By phone (555-1234),by
email (wwspam@wwspam.fu) or by visiting our customer feedback page
(http://wwspam.fu/feedback).
将txt文件分块的模块util.py:
def lines(file):
for line in file:yield line
yield '\n'
def blocks(file):
block = []
for line in lines(file):
if line.strip():
block.append(line)
elif block:
yield ''.join(block).strip()
block=[]
简单的转换模块simple_markup.py:
import sys,re
from util import *
print '<html><body>'
title = True
for block in blocks(sys.stdin):
block = re.sub(r'\*(.+?)\*',r'<em>\1</em>',block)
if title:
print'<h1>'
print block
print '</h1>'
title =False
else:
print'<p>'
print block
print'</p>'
print'</body></html>'
转换代码:python simple_markup.py<test_input.txt> test_output.html
代码执行过后当前目录会产生一个html文件test_output.html,放入浏览器运行可观察效果。
关于代码的注释部分可以参看http://1.imablog.sinaapp.com/exam-translate-txt-html/
最新文章
- 环境变量NLS_LANG
- cocos2d-x打飞机实例总结(一):程序入口分析和AppDelegate,Application,ApplicationProtocol三个类的分析
- cf251.2.C (构造题的技巧)
- 基于MATLAB的adaboost级联形式的人脸检测实现
- PHP入门 - - 06-->;HTML的表格标签
- PHP程序z中xdebug工具简要使用方法
- Functional programming
- SharePoint开发 - 自定义导航菜单(一)菜单声明与配置
- 如何用java实现使用电子邮件控制你的电脑
- jquery学习(2)toggle
- jsxtransformer.js 和browser.js有什么关系?
- [android更新类的内容开发APP]四、项目布局的基本功能(继续)
- 总结C++中取成员函数地址的几种方法
- oracle数据库的一次异常起停处理。
- SpringBoot项目在新电脑上的配置运行,包括JDK+MAVEN+Git+SpringBoot配置等
- Windows Server 2008 R2 64位操作系统安装Oracle 11g 64位数据库,在客户终端上安装Oracle 11g 32位,才能安装P/L Sql Developer并配置
- springboot测试
- Spring Boot REST(二)源码分析
- JavaScript -- 数组Array
- Ubuntu18.04编译S3的Linux SDK(Zeta)