Python办公自动化集锦 //www.greatytc.com/nb/49019927
项目背景
下载尚硅谷Python资料,发现视频文件名格式为:尚硅谷Python基础+课节编号,文件名太长,强迫症希望简洁明了,怎么办?对于130个文件,手动重命名不现实,很累!!! 想想还是Python批量操作文件比较方便!!!
原型图
图1.初始文件命名.jpg
代码参考
import os
path = 'D:\\181124\\尚硅谷_Python\\02-视频'
items = os.listdir(path)
os.chdir(path)
print(os.getcwd())
drop_str = '尚硅谷_Python基础_'
for name in items:
print(name)
new_name = ''.join(name.split(drop_str))
os.rename(name, new_name)
print('-----------------------分界线------------------------')
items = os.listdir(path)
for name in items:
print(name)
运行代码
图3.修改后的文件命名.jpg
场景:有时下载电影或者资料,文件名会自带其他商标或者平台标语,想要批量修改,手动修改很繁琐!……先前分享的代码逻辑不完善,现优化一下
-
原文件包含'【itjc8.com】'想去掉
初始文件.jpg
优化代码
import os ,os.path
def rename(file,keyword):
''' file: 文件路径 keyWord: 需要修改的文件中所包含的关键字 '''
os.chdir(file)
items = os.listdir(file)
print(os.getcwd())
for name in items :
print(name)
# 遍历所有文件
if not os.path.isdir(name):
if keyword in name :
new_name = name.replace(keyword,'')
os.renames(name,new_name)
else:
rename(file + '\\' + name, keyword)
os.chdir('...')
print('-----------------------分界线------------------------')
items = os.listdir(file)
for name in items:
print(name)
rename('G:\\学习资料\\1234', '_【itjc8.com】')
运行结果.jpg
重名后文件展示
重名后文件展示.jpg
引导-批量修改多层目录下文件名的后缀名
场景 修改文件夹1目录下的文件后缀名,同时修改同文件夹1平级的多个文件后缀名,例如jpg、txt、Pdf、png等格式文件,全部更换成MP3格式的文件。
初始目录展示
初始目录展示.png
代码参考
import os
'''将file_dir目录下的old_type类型的文件改成new_type类型的文件'''
def file_rename(old_type,new_type,file_dir):
old_files = find_file(old_type,file_dir)
#遍历所有文件
for old_file in old_files:
'''获取文件名'''
filename = os.path.splitext(old_file)[0] #文件名
'''新文件名=文件名+新的后缀 拼接起来'''
new_file = os.path.join(filename + new_type)
'''重命名'''
os.renames(old_file, new_file)
# 打印出文件名 -20表示左对齐,宽度20
print( "%-20s ===> %20s" % (old_file, new_file))
'''找到某个类型的文件'''
def find_file(file_type,file_dir):
file_set = []
for root ,dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == file_type:
file_set.append(os.path.join(root , file ))
return file_set
file_dir = r"D:\文件后缀修改"
file_rename('.jpg', '.mp3', file_dir);
file_rename('.pdf', '.mp3', file_dir);
file_rename('.txt', '.mp3', file_dir);
file_rename('.png', '.mp3', file_dir);
执行代码 查看运行结果
执行代码 查看运行结果.png
全部成功替换成mp3格式文件.png