收到一个文件包,里面的文件命名是1.png、2.png......但在手机上打开时,是按1/10/11/12这样排序的,不是按数字从小到大。因此,需要将所有的文件重命名为001.png这种带0前缀的格式。
python
import os
import re
def traverse_rename(path):
for root, dirs, files in os.walk(path):
print(f'当前目录:{root}')
# 处理文件
print(f'文件数量{len(files)}')
for file in files:
# print(os.path.join(root, file))
r = re.match(r'[0-9]+', file)
if r:
fill_0 = 3-r.span()[1]
if fill_0 <= 0:
continue
new_file = '0'*fill_0+file
print(f'src:{file},dst:{new_file}')
os.rename(os.path.join(root,file), os.path.join(root,new_file))
if __name__ == '__main__':
path = r'D:\测试'
traverse_rename(path)