【Python】批量修改文件名
【摘要】
目的:文件夹下的图片名称需要全部抹除修改。
import os
i = 1
path = r'C:\Users\hp\Desktop\huizong\(1)所有带二维码的图片\模型库\复制备份\8zh...
目的:文件夹下的图片名称需要全部抹除修改。
import os
i = 1
path = r'C:\Users\hp\Desktop\huizong\(1)所有带二维码的图片\模型库\复制备份\8zhuangpei\钻床夹具' # 要修改的文件夹路径
pre_name = 'zuanchuang' # 修改后的文件名前缀
for filename in os.listdir(path):
newname = str(i) + ".jpg"
os.chdir(path)
os.rename(filename, pre_name + newname)
i += 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
上面的代码读取文件时,可能会按照这个顺序 1->10>11>12…
这是因为默认读取文件会根据字符串大小进行读取,因此,要根据数字大小进行读取,需要对数字提取出来进行分割。我这里是使用空格进行分隔。
import os
path = r'C:\Users\hp\Desktop\练习库 - 副本\6零件图装配图绘制\钻床夹具\练习题' # 要修改的文件夹路径
pre_name = 'zuanchuang_p' # 修改后的文件名前缀
# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)
# get_key是sotred函数用来比较的元素,该处用lambda表达式替代函数。
get_key = lambda i: int(i.split(' ')[0])
new_sort = sorted(fileList, key=get_key)
n = 0
for i, fi in zip(range(len(new_sort)), new_sort):
old_name = os.path.join(path, fi)
new_name = os.path.join(path, pre_name + str(n+1) +".jpg")
os.rename(old_name, new_name)
n += 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。
原文链接:zstar.blog.csdn.net/article/details/120027979
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)