对python认识不多,虽然也认真的学习过一段时间,在玩魔兽世界怀旧服的时候,曾经实现过一个自动钓鱼的程序,可惜在自己的电脑上跑的好好的,换台电脑就失效了,菜鸟玩家,写的程序不具备兼容性。
下载了几个文件,因为防网盘屏蔽的原因,分享者修改了文件的后缀,虽然手工修改也非常便捷,但是觉得这是一个体现编程便利性的好的课题,于是就尝试用python来实现文件名的批量修改。
同文件夹内的修改
以下程序对应python版本(2.7)
同文件夹内的修改相对便利,不涉及到文件的路径,而python的专有后缀名py一般也不与其他文件重叠,所以虽然不严谨,但至少达到了需求的效果。
import os
import re
files = os.listdir("./")
for file in files:
result = re.split(".txt",file)
print result[0]
os.rename(file,result[0])
上面的程序会删除掉txt文件的后缀,把一堆txt文件变成无后缀名的文件。批量添加后缀名则更为简单,为了避免同文件夹内的py文件被无差别更名,所以加了一条简单的判断:
import os
import re
files = os.listdir("./")
for file in files:
if file <> 'renamefile.py':
os.rename(file,file+'.txt')
不同文件夹内的修改
虽然只是短短几行程序,但是调试至能成功运行,着实费了一番功夫,主要原因是文件名的路径格式不正确,获取到文件名之后,还要将“path”路径变量组装好,成为一个完整的文件地址。下面这个程序会修改f盘switch文件夹内的文件,删除文件的txt后缀名。
import os
import re
path='F:\switch'
files = os.listdir(path)
for file in files:
#result = re.split(".txt",file)
new = path+'\\'+file+'.txt'
old = path + '\\' + file
os.rename(old,new)