使用Python重命名目录中的所有文件

时间:2016-11-03 20:04:27

标签: python python-2.7

我想创建一个从输入参数中获取文件夹名称的Python程序,然后通过在其末尾添加“_ {n}”来重命名其所有文件,其中n是该文件的序列。例如,如果包含文件夹“images”,“images / cat.jpg”,“images / dog.jpg”,则在运行命令后,它将具有“images / cat_1.jpg”,“images / dog_2.jpg” 。根据上次访问日期对文件进行排序。我尝试了部分问题如下: -

import os
from os import rename
from os.path import basename

path =  os.getcwd()
filenames =next(os.walk(path))[2]
countfiles=len(filenames)

for filename in filenames:
    fname=os.path.splitext(filename)[0]
    ext=os.path.splitext(filename)[1]
    old=fname+ext
    new=fname + '_' +ext
    os.rename(old, new)

这可以重命名文件,在文件名末尾添加一个得分。但是,我不知道在下划线后面添加一系列文件。我想知道如何使用简单的Python脚本批量重命名文件。我很感激任何建议。

谢谢!

1 个答案:

答案 0 :(得分:6)

你有没有试过像:

import os
filepath = 'C:/images/'
os.chdir(filepath)
for num, filename in enumerate(os.listdir(os.getcwd()), start= 1):
    fname, ext = filename, ''
    if '.' in filename:
        fname, ext = filename.split('.')
    os.rename(filename, fname + '_%s' %num + '.' + ext)