您的位置:首页 > 编程语言 > Python开发

批量修改文件名称

2018-02-20 22:39 302 查看
新手小白一个,这两天在整理文件的时候发现一个一个改名字实在太麻烦了,于是就花了一晚上写了一个功能较为全面批量修改文件名称的程序,又花了两天零零散散地给里面完善和添加了些功能,终于做到自己满意了,发出来大家一起交流学习一下:(目前的功能有:根据文件数量添加序号、在文件名前面添加文本、删除文件名前面的方括号和修改文件后缀名,具体还是看代码和实际运行吧!)
# coding:utf-8
import os

path = input('请输入文件所在地址:')

# houz = input('指定文件类型(输入文件后缀名,仅限一个):')#如果要指定文件类型的话就去掉这行和这行字正下方的']#'号即可实现

def getpath(path): #获得文件地址序列
return [f for f in os.listdir(path)] # if f.endswith('.' + houz)]

def setdel(name): # 删去文件名首括号内内容
find = name.find(']')
newn = name[find + 1:] # 将文件名位置定位至']'后
return newn

def houzm(name):
name = os.path.splitext(name) # 分割文件后缀名[0]为文件名,[1]为后缀
return name

n = 0
print('请输入操作序号')
modes = int(input('1.文件名后添加序号 2.文件名前添加文字 3.删除文件名首括号 4.修改文件后缀名:'))
while (n == 0): # 当输入序号错误可以通过这个循环重新输入
if modes == 1: # 文件名后添加序号,能自动根据文件数量进行整齐序号命名
long = len(getpath(path))
for name in getpath(path):
if long < 9: number = str(n + 1)
elif 9 <= long < 99:
if n < 9: number = '0' + str(n + 1)
else: number = str(n + 1)
elif long < 1000:
if n < 9: number = '00' + str(n + 1)
elif 9 <= n < 99: number = '0' + str(n + 1)
else: number = str(n + 1)
elif long < 10000:
if n < 9: number = '000' + str(n + 1)
elif 9 <= n < 99: number = '00' + str(n + 1)
elif 99 <= n < 999: number = '0' + str(n + 1)
else: number = str(n + 1)
else:
print('超出长度,修改文件数不得超过10000')
continue
oldn = path + '\\' + name
newn = path + '\\' + houzm(name)[0] + number + houzm(name)[1]
os.rename(oldn, newn)
n = n + 1
elif modes == 2: # 在文件名前添加输入的字符
text = input('请输入文件名前需添加的文字:')
for name in getpath(path):
oldn = path + '\\' + name
newn = path + '\\' + text + name
os.rename(oldn, newn)
n = n + 1
elif modes == 3: # 删除掉文件名首括号(会将文件名括号前的东西删掉)
for name in getpath(path):
oldn = path + '\\' + name
newn = path + '\\' + setdel(name)
os.rename(oldn, newn)
n = n + 1
elif modes == 4: # 修改文件后缀名
houz1 = input('请输入修改后后缀名:')
for name in getpath(path):
n = n + 1
oldn = path + '\\' + name
name1 = houzm(name)
newn = path + '\\' + name1[0] + '.' + houz1
os.rename(oldn, newn)

else:
modes = int(input('输入错误,请输入操作序号:'))
continue
print('修改成功,共修改' + str(n) + '个文件')
使用软件:pycharm专业版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 文件命名 新手