移动端建议收藏后在pc端查看

最近在看到网上的【营销号生成器】和【狗屁不通生成器】。前者确实是营销号的口吻,但是竟然连模板都是写死的;后者也如其名,的确“狗屁不通”。于是结合当前对python的学习,打算自己写一个更有灵魂的。代码难度不高,适合学习交流。废话不多说,上效果:控制台输出内容

emm...图片可能太小影响观看,简单介绍一下吧。生成文章之前,首先输入动词和名词,这里动词输入的是“刷”,名词输入的是“b站”,控制台会打印文章内容,也可以选择把文章输出为word文档或者txt文本。贴下原文看看生成了什么吧:题目:我与我刷过的b站

要想清楚,刷b站,到底是一种怎么样的存在。我爷爷曾说,他刷过的b站比我吃过的饭还多,我是不信的,因为我也经常刷b站。达尔文曾经说过,敢于浪费哪怕一个钟头时间不刷b站的人,说明他还不懂得珍惜生命的全部价值。要弄明白,没有人能像博贝刷那b站时感觉到那么富有。鲁迅曾经说过:“我家门前有两棵树,一棵是枣树,另一棵也是枣树”。我的爱好有两个,一个是刷b站,另一个也是刷b站。

从某个角度看来,刷b站创始人应该是个很传统的老派人,可偏偏是却掀起了一种新潮流,将刷b站推向了知识产权保护下的新时代。鄙人才疏学浅,对刷b站一知半解。一个著名的英国政治家说过,没有永远的朋友,只有永远的利益。只要刷足够的b站,那就是朋友。

刷b站是怎么回事呢?b站相信大家都很熟悉,但是刷b站是怎么回事呢。那么对于刷b站来说呢?过去一切时代的精华尽在b站中。这是有因果关系的。对一个人来说,所期望的不是别的,而仅仅是他能全力以赴和献身于一种美好事业。共同的事业,共同的斗争,可以使人们产生忍受一切的力量,刷b站就是如此。刷b站就像国际形势一样风云变幻难以把握,本·帕克说过:能力越大,责任越大,我觉得,也应当更多地刷b站。

卡尔维诺的《看不见的城市》是这么个故事:马可.波罗站在蒙古大汗面前,讲述他东来旅途中所见到的城市,每一座城市都是种象征,而且全都清晰可见。看完那本书我刷了一夜的b站,只见一座座城市就如奇形怪状的孔明灯浮在一片虚空之中。最灵繁的人也看不见自己的背脊。鲁迅曾经说过:世上本无路,走的人多了,也就成了路。也许,b站也不曾存在,只是刷的人多了罢。

最近,我一直在思考刷b站这件事。比起真b站来更可爱,感激每一个新的挑战,因为它会锻炼过去一切,时代的精华尽在b站中。我一直相信着,我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。唐朝著名诗人韩愈曾说过:书山有路勤为径,学海无涯苦作舟,我想刷b站亦是如此。我们知道,了解清楚刷b站到底是一种怎么样的存在,是解决一切问题的关键。马丁·路德金说:历史将记取的社会转变的最大悲剧,不是坏人刷的b站,而是好人刷的b站。

从前有个好孩子,名叫雅各布·布利文斯。他对父母总是惟命是听,不管他们的话多么荒唐,多么不合情理;他总是努力刷b站,刷b站从不迟到。在戛纳车站,客车里已经满是人了,因为彼此全是互相认识的,大家都谈起刷b站来。文森特·皮尔说过一句著名的话,改变你的想法,你就改变了自己的世界。我们有多少人,应当改变对刷b站的偏见!

我们无论遇到什么困难,都不要放弃刷b站。刷b站得到极大的好评,孔子曰:学而时习之,不亦说乎。刷b站也需要适当的温习。“b站”是我的好友,现在是,未来也将一直是。

文章要有感情,除了丰富的语料库,还应有更合理的文字布局。在这个项目中,除了标题外我共设置了6个txt文档,用于存放开头、结尾、过渡等各种语句,当然大段落的文字也是必须的,他能以最小的成本让文章变得通顺。

下面是使用说明以及代码讲解,先贴上下载地址:

链接:https://pan.baidu.com/s/1Z4XgFzluZNBdVeyUIcurDg

提取码:NBYA

全文件一共32K,放心下载。

使用说明:

一、结构介绍:文件一共包含三部分,【out】文件夹存放的是输出的word和txt文件,不能删除,删除了输出文件找不到地址会报错。【txt】存放的是语料库,内含6个文档,后期可自行修改。【pageWord.py】则是我们的脚本主体,使用pyCharm打开它。文件夹中的内容

二、导包:使用之前记得在先cmd中导包(链接使用的清华源):

三、参数介绍:

运行之前可以手动修改某些参数,在第17行可以看到它们。例如将【ifOut】的值改为1,就会输出txt文档到【out】文件夹中;修改Mnum的值,将改变段落数量;修改testMode的值为2,可以在运行时输入更多参数。

注意:由于没有做校验,数字类型的参数值应当设置成合理范围内的数字。

四、运行:Ctrl + shift + F10 运行项目,在未修改参数的情况下,控制台会要求输入【动词】和【名词】,回车确认。例如动词输入“干”,名词输入“饭”。当然重口味的同学也可以输入动词“吃”,名词“粑粑”。

输入完脚本运行,控制台就能看到输出的文本了,想要输出word或者txt文本的话,看一下前面【参数介绍】里的内容。

代码讲解:

代码从第28行开始运行,不修改参数的情况下,testMode的值是1,会让用户input输入“动词”和“名词”,赋值给do和thing。

中间部分都是自定义的函数,直到第173行,可以看到定义了path、data、line三个字典,分别装的是文档路径,语料数据,以及未使用的语料编号。使用for循环,对其赋值。path是直接存入字符串类型。而data则是通过函数getData,入参path获取的。line则是靠getLine函数,入参data,通过data的长度获取一个列表。

getData函数定义在第44行,使用open()方法打开txt文件,使用readlines()按行读取txt中的内容,赋值给data。细心的小伙伴可能看到,语料文件中含有大量的“XXXOOO”,其实下一步就是通过changWord函数将输入的do和thing的值分别替换XXX和OOO。

使用.replace(,)的方法替换动名词,第85行用空字符替换掉了文中的换行符“\n”。替换后的语料被返回到data中,供后续调用。

回到第181行,print在控制台输出标题,【,end="”】起到不换行的作用。len()函数获取列表长度long,使用random.randint(0, long - 1)随机获取0到long-1的一个值,通过这个值作为索引,输出data[0]中的第R号内容,作为我们的标题。标题是在【0.txt】文档中获取的,修改里面的内容,就可以使用自己想设定的标题了。

188行和193行有两个 if 语句,可以看到条件是参数中设置好的 ifOut和 ifOut2。通过注解我们可以知道这两个参数分别是控制word与txt文档的输出的,当 ifOut或 ifOut2的值不为0时,将执行里面的输出语句,后续就不再介绍了。

第198-第200行,调用了三个函数,三个函数作用分别是文章第一段、文章中间段、文章结尾段的生成。下面以middleP函数为例。

文章主体部分分成两种格式,一种是小段落拼凑,一种是大段落拼凑,交替使用。在第147行,使用global声明调用了函数外部的全局变量flag2,用于判断是否使用了“大段落”类型的格式。data[5]存放的就是大段落内容,line[5] = getText(data[5], line[5])则是调用输出data[5]中的内容,我们具体看一下 getText()函数中的内容:

getText函数在第61行,入参是data和line。首先获取line的长度,if条件中的语句是重置line用的,因为每使用一条语料,就会在line中删除这条语料的编号,这样就可以避免重复使用,然而如果line中一个编号也没有了,那就无法输出数据了,因此当剩余的编号数量达到预设的阈值时,line列表将会重置。

在未使用的line编号中随机获取一个赋值给r,输出data的第line[r]个元素。要注意,这里的data是入参的data,不是函数外的data,函数外的data存放的是一个字典,函数内的data存放的则只是data字典中的一个列表。

后面的两个输出判断不再赘述,del line[r]则用于删除本次使用的语料编号,避免重复使用,返回值是line,说明data的值没有改变,改变的只是line中存放的编号,因此line重置后还能照常读取data中的数据。

getText函数只是用于根据指定的语料编号进行输出,如何灵活地使用不同的语料库,还要靠firstP()、middleP()、endP()、smallT()这几个函数的逻辑,有兴趣的小伙伴可以在源码中看一下,这里就不多介绍了。

代码只能是实现功能,肯定还有很多提升空间,欢迎大佬指点

python代码解读器_python文章生成器(附源码+讲解)相关推荐

  1. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  2. python必背100源代码-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  3. python火车票购买程序代码_100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  4. python抢购火车票源代码_100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  5. 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放

    20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放 文章目录 202205 ...

  6. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...

    原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...

  7. IT技术文章示例(附源码)

    IT技术文章示例(附源码) 重点推荐 1.jquery+swfupload+servlet 多文件上传:http://www.ityangba.com/thread-49-1-1.html 2.jav ...

  8. Vue 彩色头像|一个有趣的头像生成器 附源码

    前言 这是一款矢量风格的头像生成器,您可以搭配不同的素材组件,生成属于您自己的个性化头像. 介绍 您可能感兴趣的功能: 可视化组件配置栏 随机生成头像 重做/撤消 国际化 批量生成多个头像 在线体验 ...

  9. AI自动写文章生成器系统源码 一键生成高质量原创文案

    分享一个AI自动写文章生成器系统源码,程序包含电脑端+手机端+详细的搭建教程,源码开源可二开. 功能介绍: 是一款人工智能对话系统,它可以聊天,写文章,写论文,写代码,写小说,创意策划,做Excel表 ...

最新文章

  1. name 'false' is not defined
  2. day09 python之函数进阶
  3. VISSIM二次开发(Python)大作业总结1
  4. linux64位wps下载授权码,ubuntu15.04安装wps-office的64位版
  5. Word 转PDF图片不清晰解决方法
  6. Vue Elements 可用的省市县数据
  7. java lucene 站内搜索_完整的站内搜索Demo(Lucene.Net+盘古分词)
  8. c语言编程中每个指令含义,C语言编程中我们会遇见一些指令,在这里列了一些出来...
  9. 学习笔记—bootstrap(2)
  10. 让Meebo自动变换背景的客户端脚本
  11. 004.python基础知识之基本数据类型及基本运算符
  12. 忆夕阳下的光辉,给我的父亲
  13. 土豆视频显示服务器走丢了怎么办,江湖风云录玩家常见问题解答 玩家常遇到的四十个问题_3DM手游...
  14. Day431.本地事务分布式事务CAP理论 -谷粒商城
  15. Root你的设备(二)
  16. 麒麟 统信系统商店下载的安装包位置
  17. 软件开发度量及考核办法
  18. 【论文阅读】(2020)Knapsack polytopes: a survey(上)
  19. HTML5的读书笔记2000字,高中平凡的世界读后感2000字
  20. STM32输出5V电平

热门文章

  1. Python中使用tarfile压缩、解压tar归档文件
  2. Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验
  3. 【分段哈希】H. Paint the Wall
  4. play 1.2.4的action执行前后的加载逻辑
  5. 几年的写论文和审稿心得
  6. 【转】socket提交http表单 [C++]
  7. HTML元素(标签)大全及使用说明 (整)
  8. Spark机器学习之协同过滤算法
  9. WebStorm设置字体和颜色
  10. [转载]如何破解Excel VBA密码