将py文件转换成html,(2条消息)自制 Python小工具 将markdown文件转换成Html文件
今天看到了一个Python库,名为markdown。瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具。
我的实验环境操作系统: Windows 7 64位 旗舰版
Python版本: 2.7.11
IDE: PyCharm pro 2016.1
所需依赖:optparser
markdown
转换核心
转换的过程很简单,只需要使用markdown库即可,具体使用方法如下:from markdown import markdown
def parse(md_text):
return markdown(md_text)
优化
为了使我们的程序更具特色,也就是类Unix命令行风格。我这里添加了optparser的支持。
核心代码如下:# OptParser库规范性用法,以实现Unix风格的命令行处理程序
usage = \
"""
'-i', --infile . source markdown file
'-o', --outfile. target html file
'-s', --style. stylesheet for output html file,this is not for mandatory
"""
parser = optparse.OptionParser(usage)
parser.add_option('-i', '--input', dest='infile', type='string', help='input markdown source file')
parser.add_option('-o', '--output', dest='outfile', type='string', help='out put html file')
(options, args) = parser.parse_args()
infile = options.infile
outfile = options.outfile
举例:python md2html.py -i input.md -o outputfile.html
# 我们在命令行输入的参数就会转移到下面的两个变量中了
(options, args) = parser.parse_args()
infile = options.infile
outfile = options.outfile
美化
为了使得我们的html更加的美观,我这里采取了BootStrap进行了美化。使用的方式是CDN的方式。这样可以使得我们的文件目录更加的清爽,而且可以给用户一个更加简便的使用体验。
使用的模板如下:
BootStrap模板
完整代码# coding:utf-8
# __author__ = 'Mark sinoberg'
# __date__ = '2016/7/8'
# __Desc__ = 将markdown文件转换为带有样式的html文件
from markdown import markdown
import optparse
# 创建一个专门用于处理解析器的工具类
class MDParser:
# 初始化开始
def __init__(self):
print 'Ready to parser markdown source file to html file.'
# 创建一个对输入文件进行解析的方法,输出文件即为符合html语法的不完整文件
def parsre(self, infile):
infile = open(infile, 'rb')
indata = infile.read()
indata = u'%s' % indata
infile.close()
parsedata = markdown(indata)
return parsedata
# 为输出文件添加自定义标题,并且添加缺少的html头部
def appendHead(self, data, title):
head = \
"""
%s
""" % title
newdata = head + data
return newdata
# 配合上面的添加头部文件,下面的这个方法适用于添加html尾部标签,使得文件符合html规范
def appendTail(self, data):
tail = \
"""
"""
data += tail
return data
# 将完整的html文件输出到指定的位置
def output(self, data, outfile):
outfile = open(outfile, 'wb')
outfile.write(data)
outfile.close()
print "Translated Succeed!"
# OptParser库规范性用法,以实现Unix风格的命令行处理程序
usage = \
"""
'-i', --infile . source markdown file
'-o', --outfile. target html file
'-s', --style. stylesheet for output html file,this is not for mandatory
"""
parser = optparse.OptionParser(usage)
parser.add_option('-i', '--input', dest='infile', type='string', help='input markdown source file')
parser.add_option('-o', '--output', dest='outfile', type='string', help='out put html file')
(options, args) = parser.parse_args()
infile = options.infile
outfile = options.outfile
if __name__ == "__main__":
tool = MDParser()
title = raw_input('Please input the title you want:\n')
parsedata = tool.parsre(infile)
data = tool.appendHead(parsedata, title)
fulldata = tool.appendTail(data)
tool.output(fulldata, outfile)
结果展示程序运行前
infile.md内容:
程序运行方法:
生成结果
缺点
这个工具最大的缺点就是不能将中文进行转换,原因是ascii码超出字符限制。
如果大家有更好的方法,不妨私信我! 大家一起学习!
将py文件转换成html,(2条消息)自制 Python小工具 将markdown文件转换成Html文件相关推荐
- 10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字。 编写一个程序, 尝试读取这些文件, 并将其内容打印到
10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字. 编写一个程序, 尝试读取这些文件, 并将其内容打印到 ...
- Python之html与markdown互相转换
Python之html与markdown互相转换 前言 1. html2text 2. html2markdown 3. pandoc 4. 批处理 前言 Typora可以很容易的将md导出为html ...
- Visual Subst - 简单将任意文件夹挂载模拟成驱动器盘符硬盘分区的小工具
随着电脑的使用,硬盘里的资料一天比一天多,也越来越杂乱.一些朋友为了方便文件管理,会考虑重新分区,让C.D.E等盘符分别担任不同的角色.不过,不分区的话也有一些小工具可以帮你实现. Visual Su ...
- Android开发实用小工具十——进制转换工具
文章目录 前言 一.效果展示 二.代码 1.样式布局 2.主代码 总结 前言 进制转换工具的开发与实现. 一.效果展示 二.代码 准备工作与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一 ...
- 嵌入式单片机开发小工具集 进制转换计算器 (持续更新)
单片机开发工具集 文章目录 单片机开发工具集 前言 一,目录 二,模块 1,16进制转二进制寄存器 前言 在嵌入式单片机开发中,经常要处理一些不同进制的数据,查看配置寄存器等,需要用到一些特定功能的小 ...
- Android文件夹占用空间分析,安卓手机储存空间变小了?删掉这6个文件夹,瞬间腾出20G!...
原标题:安卓手机储存空间变小了?删掉这6个文件夹,瞬间腾出20G! 相信很多用安卓的朋友都有一个苦恼:明明自己的手机是64G储存空间,不知道为什么用了没几天储存空间就少了一半,有的甚至还要多,这究竟是 ...
- java xlsx怎么转换成excel格式_python小工具 | Excel的xls和xlsx格式文件转换
众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...
- python win32选取文件夹_python小工具 | Excel的xls和xlsx格式文件转换
众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...
- print python excel分隔_办公自动化 Python 小工具,对Excel文件,按某一列拆分成多个Excel文件或sheet...
使用pandas.xlwings.os 库文件,对Excel文件,按某一列拆分成多个Excel文件或sheet,提高工作效率. # -*- coding: utf-8 -*- "" ...
最新文章
- 从零开始安装 Caffe --CPU only----没有 pycaffe
- PO Create PO时关于汇率问题需要注意的步骤
- Solr字段类型field type的定义
- 千兆路由器怎么设置网速最快_200M的网速,换成千兆路由器,我得到了什么?...
- mysql可以关联视图_Mysql 五: 数据库自关联、视图
- html js脚本限制 正则,简单谈谈JS中的正则表达式
- 深入理解HTTP协议、HTTP协议原理分析【转】
- (转)淘淘商城系列——maven工程debug调试
- Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
- 如何摆脱初学者的不自信,成为一名专业编程人士?
- Uva 1630 折叠串
- sqlite转sql2000数据库
- FW软件的安装及简单的使用;
- 游戏跟计算机不兼容,端游不兼容怎么解决
- 一张图理解贝叶斯公式
- wifi WPS功能介绍
- 【有利可图网】不懂ps排版?超详细排版教程送上!
- Python之第六章 内置容器 --- 字典(映射)
- Linux服务器被挖矿及解决办法
- 计组作业【题目记录】
热门文章
- 配置JupyterLab远程密码访问
- 96%被薅走的流量,云托管帮泡泡玛特防住了
- Godot Engine:街霸隆的动画(Idle/波动拳/升龙拳)导入步骤以及运行时的简单动画切换
- 图解Linux命令之--hdparm命令
- 2022国赛C:古代玻璃制品的成分分析与鉴别
- Mac使用触控板或苹果鼠标时指针跳跃的解决方法
- PHP——创建二维数组
- 使用Java多线程实现任务分发
- C#类库和用户控件库的区别及相互转换
- NestedVAE: Isolating Common Factors via Weak Supervision.