Python自动化Markdown无序列表

这是我参与更文挑战的第11天,活动详情查看: 更文挑战

应用场景

假如我们在编辑Markdown格式的文档,需要显示一个很大的列表,但目前只有每行的文本,那么需要在每一行的前面添加“* ” ,这样在Markdown的文档就可以形成无序列表了。下面介绍只需要ctrl+c, ctrl+v就可以的快捷方法。

无序列表Markdown语法

* 哈哈
* 哈哈
复制代码

效果:

  • 哈哈
  • 哈哈

例如有朱自清的246行《毁灭》长诗需要以无序列表的形式显示
如果要手工在每一行前添加“* ”,那么多么的累啊,我们要自动化

操作步骤

  1. 选中246行长诗,右击复制
  2. 运行本程序
  3. 在你需要插入的地方右击粘贴,Bingo

我们看看Python的pyperclip模块时怎样完成的

pyperclip模块不是内置模块需要自己安装:

pip3 install pyperclip
复制代码
  1. pyperclip.paste():从电脑剪贴板中获取复制的内容
  2. pyperclip.copy(text):把text内容放到电脑的剪贴板,那么粘贴时的数据就变成text的内容了

那么,我们来实现一下自动化在每行前面添加“* ”

#!/usr/bin/env python3
# coding=utf-8
__author__ = "RidingRoad"

import pyperclip

def main():
    """运行前把需要形成无序列表的数据选中右击复制
       运行后右击粘贴即可生成Mark down格式无序列表
    """
    # 获取剪贴板的数据
    text = pyperclip.paste()
    # 对长字符串根据"\n"进行分割到一个列表
    text_split = text.split('\n')
    # 在每一行前添加"* "(*号和一个空格)
    for i in range(len(text_split)):
        text_split[i] = "* " + text_split[i]
    # 合并
    text = "\n".join(text_split)
    # 把处理后的数据放回剪贴板
    pyperclip.copy(text)


if __name__ == "__main__":
    main()
复制代码

运行后剪贴板内容:

* 踯躅在半路里,
* 垂头丧气的,
* 是我,是我!
* 五光吧,
* 十色吧,
* 罗列在咫尺之间:
* 这好看的呀!
* 那好听的呀!
* 闻着的是浓浓的香,
* 尝着的是腻腻的味;
* 况手所触的,
* 身所依的,
* 都是滑泽的,
* 都是松软的!
* 靡靡然!
* 怎奈何这靡靡然?——
* 被推着,
* 被挽着,
* 长只在俯俯仰仰间,
* 何曾做得一分半分儿主?
* 在了梦里,
* 在了病里;
* 只差清醒白醒的时候!
* 白云中有我,
* 天风的飘飘,
* 深渊里有我,
* 伏流的滔滔;
* 只在青青的,青青的土泥上,
* 不曾印着浅浅的,隐隐约约的,我的足迹!
* 我流离转徙,
* 我流离转徙;
* 脚尖儿踏呀,
* 却踏不上自己的国土!
* 在风尘里老了,
* 在风尘里衰了,
* 仅存的一个懒恹恹的身子,
* 几堆黑簇簇的影子!
* 幻灭的开场,
* 我尽思尽想:
* “亲亲的,虽渺渺的,
* 我的故乡——我的故乡!
* 回去!回去!”
* 虽有茫茫的淡月,
* 笼着静悄悄的湖面,
* 雾露蒙蒙的,
* 雾露蒙蒙的;
* 仿仿佛佛的群山,
* 正安排着睡了。
* 萤火虫在雾里找不着路,
* 只一闪一闪地乱飞。
* 谁却放荷花灯哩?
* “哈哈哈哈~~~” “吓吓吓~~~”
* 夹着一缕低低的箫声,
* 近处的青蛙也便响起来了。
* 是被摇荡着,
* 是被牵惹着,
* 说已睡在“月姊姊的臂膊”里了;
* 真的,谁能不飘飘然而去呢?
* 但月儿其实是寂寂的,
* 萤火虫也不曾和我亲近,
* 欢笑更显然是他们的了。
* 只有箫声,
* 曾引起几番的惆怅;
* 但也是全不相干的,
* 箫声只是箫声罢了。
* 摇荡是你的,
* 牵惹是你的,
* 他们各走各的道儿,
* 谁理睬你来?
* 横竖做不成朋友,
* 缠缠绵绵有些什么!
* 孤另另的,
* 冷清清的,
* 没味儿,没味儿!
* 还是掉转头,
* 走你自家的路。
* 回去!回去!
* 虽有雪样的衣裙,
* 现已翩翩地散了,
* 仿佛清明日子烧剩的白的纸钱灰。
* 那活活像小河般流着的双眼,
* 含蓄过多少意思,蕴藏多过少话句的,
* 也干涸了,
* 干到像烈日下的沙漠。
* 漆黑的发,
* 成了蓬蓬的秋草;
* 吹弹得破的面孔,
* 也只剩一张褐色的蜡型。
* 况花一般的笑是不见一痕儿,
* 珠子一般的歌喉是不透一丝儿!
* 眼前是光光的了,
* 总只有光光的了。
* 撇开吧。
* 还撇些什么!
* 回去!回去!
* 虽有如云的朋友,
* 互相夸耀着,
* 互相安慰着,
* 高谈大笑里
* 送了多少的时日;
* 而饮啖的豪迈,
* 游踪的密切,
* 岂不像繁茂的花枝,
* 赤热的火焰哩!
* 这样被说在许多口里,
* 被知在许多心里的,
* 谁还能相忘呢?
* 但一丢开手,
* 事情便不同了:
* 翻来是云,
* 覆去是雨,
* 别过脸,
* 掉转身,
* 认不得当年的你!——
* 原只是一时遣着兴罢了,
* 谁当真将你放在心头呢?
* 于是剩了些淡淡的名字——
* 莽莽苍苍里,
* 便留下你独个,
* 四周都是空气罢了,
* 四周都是空气罢了!
* 还是摸索着回去吧;
* 那里倒许有自己的弟兄姊妹
* 切切地盼望着你。
* 回去!回去!
* 虽有巧妙的玄言,
* 像天花的纷坠;
* 在我双眼的前头,
* 展示渺渺如轻纱的憧憬——
* 引着我飘呀,飘呀,
* 直到三十三天之上。
* 我拥在五色云里,
* 灰色的世间在我的脚下——
* 小了,更小了,
* 远了,几乎想也想不到了。
* 但是下界的罡风
* 总归呼呼地倒旋着,
* 吹人我丝丝的肌里!
* 摇摇荡荡的我
* 倘是跌下去呵,
* 将像泄着气的轻气球,
* 被人践踏着顽儿,
* 只馀嗤嗤的声响!
* 况倒卷的罡风,
* 也将像三尖两刃刀,
* 劈分我的肌里呢?——
* 我将被肢解在五色云里;
* 甚至化一阵烟,
* 袅袅地散了。
* 我战栗着,
* “念天地之悠悠”……
* 回去!回去!
* 虽有饿着的肚子,
* 拘挛着的手,
* 乱蓬蓬秋草般长着的头发,
* 凹进的双眼,
* 和软软的脚,
* 尤其灵弱的心,
* 都引着我下去,
* 直向底里去,
* 教我抽烟,
* 教我喝酒,
* 教我看女人。
* 但我在迷迷恋恋里,
* 虽然混过了多少时刻,
* 只是不让步的是我的现在,
* 他不容你不理他!
* 况我也终于不能支持那迷恋人的,
* 只觉肢体的衰颓,
* 心神飘忽,
* 便在迷恋的中间,
* 也潜滋暗长着哩!
* 真不成人样的我
* 就这般轻轻地速朽了么?
* 不!不!
* 趁你未成残废的时候,
* 还可用你仅有的力量!
* 回去!回去!
* 虽有死仿佛像白衣的小姑娘,
* 提着灯笼在前面等我,
* 又仿佛像黑衣的力士,
* 擎着铁锤在后面逼我——
* 在我烦忧着就将降临的败家的凶惨,
* 和一年来骨肉间的仇视,
* (互以血眼相看着)的时候,
* 在我为两肩上的人生的担子,
* 压到不能喘气,
* 又眼见我的收获
* 渺渺如远处的云烟的时候;
* 在我对着黑绒绒又白漠漠的将来,
* 不知取怎样的道路,
* 却尽徘徊于迷悟之纠纷的时候:
* 那时候她和他便隐隐显现了,
* 像有些什么,
* 又像没有——
* 凭这样的不可捉摸的神气,
* 真尽够教我向往了。
* 去,去,
* 去到她的,他的怀里吧。
* 好了,她望我招手了,
* 他也望我点头了。……
* 但是,但是,
* 她和他正都是生客,
* 教我有些放心不下;
* 他们的手飘浮在空气里,
* 也太渺茫了,
* 太难把握了,
* 教我怎好和他们相接呢?
* 况死之国又是异乡,
* 知道它什么土宜哟!
* 只有在生之原上,
* 我是熟悉的;
* 我的故乡在记忆里的,
* 虽然有些模糊了,
* 但它的轮廓我还是透熟的,——
* 哎呀!故乡它不正张着两臂迎我吗?
* 瓜果是熟的有味;
* 地方和朋友也是熟的有味;
* 小姑娘呀,
* 黑衣的力士呀,
* 我宁愿回我的故乡,
* 我宁愿回我的故乡;
* 回去!回去!
* 归来的我挣扎挣扎,
* 拔烟尘而见自己的国土!
* 什么影像都泯没了,
* 什么光芒都收敛了;
* 摆脱掉纠缠,
* 还原了一个平平常常的我!
* 从此我不再仰眼看青天,
* 不再低头看白水,
* 只谨慎着我双双的脚步;
* 我要一步步踏在泥土上,
* 打上深深的脚印!
* 虽然这些印迹是极微细的,
* 且必将磨灭的,
* 虽然这迟迟的行步
* 不称那迢迢无尽的程途,
* 但现在
* 既平常而又渺小的我,
* 只看到一个个分明的脚步,
* 便有十分的欣悦——
* 那些远远远远的
* 是再不能,也不想理会了。
* 别耽搁吧,
* 走!走!走!
复制代码

Markdown效果

  • 踯躅在半路里,
  • 垂头丧气的,
  • 是我,是我!
  • 五光吧,
  • 十色吧,
  • 罗列在咫尺之间:
  • 这好看的呀!
  • 那好听的呀!
  • 闻着的是浓浓的香,
  • 尝着的是腻腻的味;
  • 况手所触的,
  • 身所依的,
  • 都是滑泽的,
  • 都是松软的!

……………

好了,到这里,已经自动化解决了

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享