【Python】批量修改文件名

举报
zstar 发表于 2022/08/06 00:13:58 2022/08/06
【摘要】 目的:文件夹下的图片名称需要全部抹除修改。 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。