Python版本的Markdown工具:Handout使用教程!用Python代码直接排版!
内容摘要:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Handout使用教程
- 在pyhon直接使用Markdown
- 把讲义导出为html网页
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我想要使用Python代码直接排版,怎样才能做到?
- 我只喜欢用python,也只想使用python。我想用python就可以直接排版。
- 还要可以在任何文本编辑器里,方便地转换成标题、代码、文本等各种样式。
- 最好还能直接运行Python代码,并且展示运行的结果。
Google Brain的研究员Danijar Hafner发布Python Handout这一Python模块包, 几乎完美地实现了我的以上诉求。
Python Handout借助和Markdown一样的代码命令,让Python代码可以直接转换为讲义的样式。
使用Python Handout的大致流程如下:
- handout 作为正常 Python 程序内的库导入
- 编写python代码和运行python脚本
- 在浏览器中打开保存的网页文件以查看结果。
- 修改文件后,刷新浏览器以查看新的导出结果。
首先,你需要安装Python Handout 模块。
安装命令:
pip3 install -U handout
安装完成后,就可以在python中,愉快地使用Handout进行排版了。
你可以在python中,控制文档的显示。比如,你可以创建粗体的文字,斜体的文字,添加图片,并且创建列表 等等。 基本上来讲,排版的方式就是在普通的文字基础上,加上 # 或者 * 等符号。
导入相关的模块!
import handout
import matplotlib.pyplot as plt
import numpy as np
设置保存的网页的文件目录
- 如果不填写详细的目录路径,则默认为当前的py文件目录。
- 如果目录不存在,则会自动创建。
doc = handout.Handout('输出目录/示例')
Markdown的格式说明
带有三个引号的注释将转换为文本块。注意:必须为英文状态下的双引号,单引号无效。文本块支持Markdown格式,例如:
- 标题
- 超链接
- 粗体和斜体
- 数学公式:f(x)=x2f(x)=x2
- 超链接
超链接设置方法:
# [超链接][1]
# 第1个[ ]里面填写超链接的文本,例如标题或说明。
# 第2个[ ]里面填写超链接的序号。
# 然后写下超链接的地址,格式如下:[1]: https://commonmark.org/help/
注意,以上的超链接的具体地址不会在转换后的讲义中显示, 但是单击超链接的文本,将打开网页链接。
添加文本和变量
使用与Python的print()相同的方式输出文本:
for index in range(3):doc.add_text(f'循环3次,现在是第{index+1}次。')
doc.show()
效果和print()是一样的。输出如下所示:
循环3次,现在是第1次。
循环3次,现在是第2次。
循环3次,现在是第3次。
添加 Matplotlib 图像
在handout展示matplotlib的绘图结果:
fig, ax = plt.subplots(figsize=(4, 3))
ax.plot(np.arange(100))
fig.tight_layout()
doc.add_figure(fig)
doc.show() # 在此行代码下面展示绘图结果
设置输出的图像的宽度以并排显示多个图形:
for iteration in range(3):fig, ax = plt.subplots(figsize=(3, 2))ax.plot(np.sin(np.linspace(0, 20 / (iteration + 1), 100)))doc.add_figure(fig, width=0.33)
doc.show()
添加图像和视频
这个功能需要安装 imageio 模块
image_a = np.random.uniform(0, 255, (200, 400, 3)).astype(np.uint8)
image_b = np.random.uniform(0, 255, (100, 200, 1)).astype(np.uint8)
doc.add_image(image_a, 'png', width=0.4)
doc.add_image(image_b, 'jpg', width=0.4)
doc.show()
video = np.random.uniform(0, 255, (100, 64, 128, 3)).astype(np.uint8)
doc.add_video(video, 'gif', fps=30, width=0.4)
doc.add_video(video, 'mp4', fps=30, width=0.4)
doc.show()
隐藏代码
隐藏单行代码不予展示
在代码后面添加:# handout: exclude 即可隐藏掉代码。
# 下面一行代码,不会被展示出来:
# value = 13 # handout: exclude 这行代码被隐藏掉了。
隐藏多行代码不予展示
开始处,使用语句: # handout: begin-exclude
结束处,使用语句: # # handout: end-exclude
查看讲义
当你运行'doc.show()'时,讲义将会自动保存。
使用浏览器打开文件夹'输出目录/示例'里面的 index.html 文件,即可查看转换后的讲义。
当python文件作了修改,并且重新运行后,只需在浏览器里刷新一下,即可查看修改后的导出内容。
附完整代码:
"""
# Python版本的Markdown工具:Handout使用教程!
# 用Python代码直接排版!我想要使用Python代码直接排版,怎样才能做到?- 我只喜欢用python,也只想使用python。我想用python就可以直接排版。
- 还要可以在任何文本编辑器里,方便地转换成标题、代码、文本等各种样式。
- 最好还能直接运行Python代码,并且展示运行的结果。Google Brain的研究员Danijar Hafner发布Python Handout这一Python模块包,
几乎完美地实现了我的以上诉求。Python Handout借助和Markdown一样的代码命令,让Python代码可以直接转换为讲义的样式。使用Python Handout的大致流程如下:
1. handout 作为正常 Python 程序内的库导入
2. 编写python代码和运行python脚本
3. 在浏览器中打开保存的网页文件以查看结果。
4. 修改文件后,刷新浏览器以查看新的导出结果。## 首先,你需要安装Python Handout 模块。
安装命令: pip3 install -U handout安装完成后,就可以在python中,愉快地使用Handout进行排版了。你可以在python中,控制文档的显示。比如,你可以创建粗体的文字,斜体的文字,添加图片,并且创建列表 等等。
基本上来讲,排版的方式就是在普通的文字基础上,加上 # 或者 * 等符号。导入相关的模块!
"""import handout
import matplotlib.pyplot as plt
import numpy as np"""设置保存的网页的文件目录
- 如果不填写详细的目录路径,则默认为当前的py文件目录。
- 如果目录不存在,则会自动创建。
"""doc = handout.Handout('Python教程/Handout教程')"""
## Markdown的格式说明
带有三个引号的注释将转换为文本块。
文本块支持[Markdown格式][1],例如:- 标题
- 超链接
- **粗体**和*斜体*
- 数学公式:$f(x)=x^2$
- 超链接[1]: https://commonmark.org/help/### 超链接设置方法:
"""# [超链接][1]
# 第1个[ ]里面填写超链接的文本,例如标题或说明。
# 第2个[ ]里面填写超链接的序号。
# 然后写下超链接的地址,格式如下:[1]: https://commonmark.org/help/"""
注意,以上的超链接的具体地址不会在转换后的讲义中显示,
但是单击超链接的文本,将打开网页链接。
""""""
## 添加文本和变量
使用与Python的print()相同的方式输出文本:
"""for index in range(3):doc.add_text(f'循环3次,现在是第{index + 1}次。')
doc.show()"""
效果和print()是一样的。输出如下:
"""
"""
## 添加 Matplotlib 图像
在handout展示matplotlib的绘图结果:
"""
fig, ax = plt.subplots(figsize=(4, 3))
ax.plot(np.arange(100))
fig.tight_layout()
doc.add_figure(fig)
doc.show() # 在此行代码下面展示绘图结果"""
设置输出的图像的宽度以并排显示多个图形:
"""for iteration in range(3):fig, ax = plt.subplots(figsize=(3, 2))ax.plot(np.sin(np.linspace(0, 20 / (iteration + 1), 100)))doc.add_figure(fig, width=0.33)
doc.show()"""
## 添加图像和视频
这个功能需要安装 imageio 模块
"""
image_a = np.random.uniform(0, 255, (200, 400, 3)).astype(np.uint8)
image_b = np.random.uniform(0, 255, (100, 200, 1)).astype(np.uint8)
doc.add_image(image_a, 'png', width=0.4)
doc.add_image(image_b, 'jpg', width=0.4)
doc.show()
video = np.random.uniform(0, 255, (100, 64, 128, 3)).astype(np.uint8)
doc.add_video(video, 'gif', fps=30, width=0.4)
doc.add_video(video, 'mp4', fps=30, width=0.4)
doc.show()"""
## 隐藏代码
隐藏单行代码不予展示在代码后面添加:# handout: exclude 即可隐藏掉代码。
"""# 下面一行代码,不会被展示出来:
# value = 13 # handout: exclude 这行代码被隐藏掉了。
value = 13 # handout: exclude"""
隐藏多行代码不予展示开始处,使用语句: # handout: begin-exclude结束处,使用语句: # # handout: end-exclude""""""
## 查看讲义
当你运行'doc.show()'时,讲义将会自动保存。使用浏览器打开文件夹'输出目录/示例'里面的 index.html 文件,即可查看转换后的讲义。当python文件作了修改,并且重新运行后,只需在浏览器里刷新一下,即可查看修改后的导出内容。(完)
"""
(完)
Python版本的Markdown工具:Handout使用教程!用Python代码直接排版!相关推荐
- 怎么查看电脑有没有python_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...
本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...
- 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...
本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...
- python的主流开发工具排名,最常用的python开发工具
有哪些值得推荐的 Python 开发工具? 第一款:最强终端 Upterm它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫做:BlackWindow. 有人跟他说这个 ...
- 同一个电脑可安装多个python版本吗_Linux下如何安装多个Python版本
原标题:Linux下如何安装多个Python版本 导读服务器上的Python版本太老了,需要安装一个新的Python版本,才能跑我的代码.因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用 ...
- python最强脚本工具_8种常用的Python工具
Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科学应用.学习Python可以让程序员专注于解决问题,而不是语法.由于Python相对较小,且拥有各式各样的工具,因此比J ...
- python自动发微信天气预报_【教程】Python微信定时自动给女朋友发送天气预报
原标题:[教程]Python微信定时自动给女朋友发送天气预报 先上效果图 主要思路 1.从wxpy获取好友列表 2.创建定时器 3.定时器触发函数 4.函数执行,遍历好友列表 5.好友对象执行带参函数 ...
- python 功能化模块_【软件测试教程】Python模块化以及内置模块的使用
一:什么是模块 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. 二:模块类型 1:自定义模块 由编程人员自己写的模块.自定义模块时要 ...
- python版本越高越好吗-5个Python特性 越早知道越好的
Python Python开发 Python语言 5个Python特性 越早知道越好的 Kirill Sharkovski 发布在 Unsplash 杂志上的照片 AI开发者按,Python 是近十年 ...
- 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...
Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...
最新文章
- VC中按钮控件的启用(enable)和禁用(disable)
- 设计模式学习(三)——单例模式
- JSP语法(JSP动作)
- binary.Write 小坑一个兼论go的错误处理哲学
- Prototype使用$F()函数
- Mac启动Apache之后访问localhost提示403 Forbidden
- HTML5开发手机项目—个人总结
- Hyperledger Fabric 开发环境安装
- 飞书信外贸移动社交自建站系统玩转海外拼团分销
- Dlang如何禁用垃圾回收(GC)
- JavaScript 中 == 和 === 的区别
- 涨知识--地球自转会影响飞机飞行时间吗?
- 修改andriod模拟器的IMEI,IMSI,手机号,SIM卡号
- 【App自动化测试】(八)三种等待方式——强制等待、隐式等待、显示等待
- Feature Tools:自动特征工程(翻译)
- 电容在微分、积分电路中的本质以及应用
- 富文本编辑器 Kindeditor 的使用和 常见错误
- Systrace分析基础知识
- 机构称谷歌新闻业务2018收入47亿美元 谷歌:计算方法有误
- 工作总结与述职报告ppt模板