Python 文件操作

回顾 Python 文件操作,写一个创建 Hexo 新文章的脚本,便于工作。

想法

考虑到使用Hexo new post命令创建新文章时有个模板文件 post.md,所以也创建个 template.md 模板文件,然后使用 Python 脚本根据模板文件创建本次的新文章 .md 文件。

template.md 如下:

---
title:
date:
categories:
-
keywords:
-
tags:
-
---

源码

思路:逐行读取模板文件,然后将其写入到目标文件中。如果遇到需要修改的部分,便利用字符串相关操作进行修改。

代码:

import os
import time
path = 'F:\Repos\Blog\source\_posts\\'
templname = path + '\\template.md'
filename = raw_input("Please input the filename: ") # 文章名
filename = path + filename + '.md'
title = raw_input("Please input the title: ") # 文章标题
time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) #文章时间
template = open(templname, "r") # 模板文件句柄
file = open(filename, "w") # 目标文件句柄
for line in template.readlines(): # 逐行读取模板文件
if line.startswith("title:"):
line = line[:-1] + ' ' + title + line[-1:] # line 是字符串类型
if line.startswith("date:"):
line = line[:-1] + ' ' + time + line[-1:] # line 的后面有换行符,所以将 title 插入到换行符前
file.writelines(line) # 写入新文件中
template.close()
file.close() # 关闭文件
os.system("D:\Sublime\subl " + filename) # 使用系统命令调用相关程序打开文件进行编辑

运行:命令行运行 Python 脚本

E:\lray\Desktop>python blog.py
Please input the filename: Python_file
Please input the title: Python 文件操作

版权声明:本文采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)许可协议进行授权,转载请注明出处

本文链接http://blog.floretten.com/2017/Python_file/