@maorongrong
2016-09-13T08:59:38.000000Z
字数 1568
阅读 730
Git Python
摘要: 在牛逼的欢爷手把手传授下,写出批量生成 github 博文脚本
#coding: utf-8import osimport uuidimport randomimport shutilroot = 'C:\\Users\\123\\Desktop\\Cmd-Markdowns-2016-09-12-19-01'def createDate():year = range(2015,2017)[random.randint(0,1)]month = range(1,13)[random.randint(0,11)]day = range(1,31)[random.randint(0,29)]date = '%s-%02d-%02d' %(year,month,day)return datedef createFilename():return str(uuid.uuid4())def createCate(c):#print c[2][26:]return c[2][27:].split()[0]def createTags(c):return c[2][27:-1]def createTitle(c):return c[0][2:-1]def createAbst(c):return ''.join(c[10:14])def createNewContent(c):nc = []for line in c:if line.startswith('###') and line[3] != ' ':new_line = line[:3] + ' ' + line[3:]elif line.startswith('##') and line[2] != ' ':new_line = line[:2] + ' ' + line[2:]elif line.startswith('#') and line[1] != ' ':new_line = line[:1] + ' ' + line[1:]else:new_line = linenc.append(new_line)return ncdir_list = os.listdir(root)#print dir_listif os.path.isdir('F:\\new-dir'):shutil.rmtree('F:\\new-dir')os.mkdir('F:\\new-dir')for i in dir_list:print isec_dir = os.listdir(root+ '\\' +i)#print sec_dirfor j in sec_dir:print jcontent = open(root+ '\\' +i + '\\'+ j).readlines()content = createNewContent(content)title = createTitle(content)date = createDate()cate = createCate(content)tags = createTags(content)abst = createAbst(content)f = open('F:\\new-dir' + '\\' + date + '-' + createFilename()+ '.md', 'w')header = '''---layout: posttitle: %sdate: %scategories: %stags: %s---* content{:toc}%s'''header_content = header %(title,date,cate,tags,abst)f.write(header_content)f.write(''.join(content))f.close()
建议使用 notepad++ 编辑器: 设置——>首选项——>新建——>unix——>UTF-8(无BOM),勾上应用于打开ANSI文件。
