2

假设我在一个目录中有一堆文件,具有不同的扩展名:

dsgxy7wusshg2.jpg
ds65321333321.png
ds2716113shg2.jpg
d3171763462g2.jpg
5432125321hg2.png
db37fv73v7av1.png
d0zhzb38b22g2.jpg
d3171763462nb.jpg

我想创建一个小脚本,将每个文件重命名为 format mystring_x.ext,其中mystring是我在脚本中设置的字符串,是要重命名x的文件的编号,并且是文件ext原始扩展名。不可能有两个文件使用相同的编号,但扩展名不同。每个号码只有一个文件。

我知道我应该使用os模块来重命名文件,但是我应该尝试使用什么程序来完成这项任务?

4

1 回答 1

3
directory = '/path/to/dir'
base = 'mystring'

for i, f in enumerate(os.listdir(directory), 1):
    ext = f.rsplit('.', 1)[-1]
    absolutify = lambda s: os.path.join(directory, s)
    os.rename(absolutify(f), absolutify('%s_%d.%s' % (base, i, ext)))
于 2012-05-25T17:26:08.267 回答