这是学习笔记的第 2234篇文章

读完需要

9分钟

速读仅需7分钟

在过年的那些日子,每天中午都会陪着孩子看会《诗词大会》,突然发现这个节目还蛮有意思。一些难以言传的情感或者意境,通过诗词用几个字就能传神的表达出来。

为此我借着给孩子充电的理由,给自己买了本《唐诗三百首》,每当孩子午睡的时候,我就坐在沙发旁边开始刷诗词,同样的唐诗三百首,对于不同的人来说能够引起共鸣的还是有那么四五十首,我的目光锁定在了关于孩子,关于童年相关的诗词方面,结果整本书扫下来竟然有几十首。

后来惰性冲昏了头脑,同时发现吃饭的时候看电视着实不合适,于是电视也看得少了。但是每每看到一些不错的诗句,还是会忍不住想记录下来。

断断续续中,有一次在GitHub上搜索Python相关的开源项目,结果我按照star排序,发现竟然有一个关于古诗词的开源项目,29k的star数,简直可以秒杀很多流行的开源项目。

让你的运维系统充满“诗意”_让你的运维系统充满“诗意”

于是乎我来了兴趣,想能不能找到一些可以借鉴的地方,项目里面的亮点是收集的资料数据,都按照JSON的格式梳理清楚了,关于唐诗的文件有58个,大小在近30M,但是对于数据的使用没有提供更多的信息。

我的需求是把一些唐诗能够随机输出,这样就能够看到更多更丰富的内容了,而且自己可以不断刷新重新获取。

于是我简单写了下面的Python程序。

 

  •  
# _#_ coding:utf-8 _*

import randomimport osimport jsonimport sysimport opencc
POEM_MAX_LEN = 50FILE_PATH = 'D:\chinese_poetry\chinese-poetry-master\json'
def get_poem(file_name):fp = open(FILE_PATH + '\\' + file_name, 'r', encoding='UTF-8')file_index = random.randint(0, 9)data_content = json.loads(fp.read())[file_index]fp.close()poem_len = len(str(data_content["paragraphs"]))if poem_len < POEM_MAX_LEN:return '%s --%s' %(data_content["paragraphs"][0:],data_content["author"])else:return '%s --%s' %(data_content["paragraphs"][0:1],data_content["author"])

def get_file(file_path):files = []for x in os.listdir(file_path):if x.startswith('poet.tang'):files.append(x)selected_files = random.sample(files, k=1)print (selected_files)for selected_file in selected_files:#print(get_poem(selected_file))converter = opencc.OpenCC(FILE_PATH + '\\' +selected_file)print (converter)converter.convert() #
get_file(FILE_PATH)

很快就得到了想要的结果,这种情况下,我开始考虑把这些数据对接到我们的运维系统里面。对诗词的显示长度也做了截取,如果比较长,就截取前面2举,然后又开始忙碌一会,就接入进来了。

让你的运维系统充满“诗意”_让你的运维系统充满“诗意”_02

这样每次页面刷新我都能看到不同的诗词。

接下来就有很多的空间玩了,比如把原本的繁体转换为简体,比如可以考虑根据功能的差异显示不同的诗词等等。

可能会有很多人,这个有什么用,我做之前也觉得好像没有,但是接进来之后,我觉得这是一种新的体验,仅此而已。

让你的运维系统充满“诗意”_让你的运维系统充满“诗意”_03