有的时候我们需要将python代码进行展示讲解,这个时候使用py文件进行讲解效果并不是最好的。如果能转化为html文件,在浏览器中展示,那就完美了。好消息是存在一个名为handout的库可以实现我们的设想。
安装
pip3 install
U handout
快速学习
下面是demo.py文件中的代码及注释,其中handout库可以将注释部分中的markdown标记转化为html相应的样式
\"\"\"# Python Handout库将python脚本转化为带markdown标记形式的html文件\"\"\"
importhandoutimportmatplotlib.pyplotaspltimportnumpyasnp
\"\"\"## 定义输出的文件夹\"\"\"
doc=handout.Handout(\'output\')
\"\"\"## Markdown注释以前后3个\"内的部分作为markdown待识别区域,可以用markdown语法书写注释例如,handout中出现下面的无序列表-Headlines-Hyperlinks-Inline`code()`snippets-**Bold**and*italic*\"\"\"\"\"\"## 添加文本和变量注意这里使用doc.add_text方法向handout中添加运行结果,类似于python中的print\"\"\"
forindexinrange(3):doc.add_text(\'Iteration\',index)doc.show()
\"\"\"## 添加matplotlib图在handout中添加matplotlib图\"\"\"
fig,ax=plt.subplots(figsize=(4,3))ax.plot(np.arange(100))fig.tight_layout()doc.add_figure(fig)doc.show()
\"\"\"设置handout中图片的尺寸\"\"\"
foriterationinrange(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()
\"\"\"## 添加图片This requires the `imageio` pip package.\"\"\"
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()
\"\"\"## 浏览handout默认doc.show()输出到output文件夹中的index.html文件\"\"\"
输出结果
下面左侧是代码,右侧是转化后的html文件效果。
下面是demo.py文件的运行过程及结果的动态展示