跳到主要内容

Python操作文件名

小明的文件夹结构为:
|-docs
|- 01a.md
|- 02b.md
|- 03c.md

随着知识储备增多,现在他想拓充自己的知识库,把目录结构修改为:

|-docs
|- 01a
|- a.md
|- 02b
|- b.md
|- 03c
|- c.md

请你设计一个程序完成这个功能
import os

path = "docs"

for i in os.listdir(path):
# 读取文件夹下所有md结尾的文件
if i[-2:] == "md":
# 获取原文件路径
file_path = os.path.join(path, i)
# 获取要生成的文件夹路径,按自己想要的方式截取文件名作为文件夹的名字
filef_path = os.path.join(path, i[:-3])
# 创建文件夹
os.makedirs(filef_path)
# 生成移动到文件夹后的文件路径,去掉前面的2位数字,也可以用正则表达式
new_file_path = os.path.join(filef_path, i[2:])
# 移动文件:其实就是改指针
os.rename(file_path, new_file_path)

# 如果后悔了想改回来
import os

path = "docs"

for a, b, c in os.walk(path):
if c != []:
file_path = os.path.join(a, c[0])
new_file_path = a + ".md"
os.rename(file_path, new_file_path)
os.remove(a)


# 在每个文件的开头增加数据
import os

path = "docs"

for a, b, c in os.walk(path):
if c != []:
file_path = os.path.join(a, c[0])
# r+ 可读可写
with open(file_path,'r+',encoding='utf-8') as f:
old = f.read()
f.seek(0)
f.write("---\nsidebar_position: 1\n---\n")
f.write(old)