0

我在一个目录中有 400 个文件(带有.png扩展名)。它们以名称开头005.png并上升到395.png

我想使用以下方法重命名它们os.rename

os.rename(006.png,005.png)

换句话说,我想将所有数字向下移动,将文件重命名005.png004.png并重命名395.png394.png,依此类推。

我不想手动执行此操作,因为它会花费太长时间:

os.rename(005.png,004.png)
os.rename(006.png,005.png)
...

我怎么能简单地做到这一点?我正在使用 s60 第二版 FP3。

提前致谢!

4

3 回答 3

3

您可以使用一个简单的循环:

for i in xrange(4, 396):
    os.rename(str(i).zfill(3) + ".png", str(i-1).zfill(3) + ".png"))

就是这样:)

于 2012-08-19T14:00:34.537 回答
2

循环确实是最简单的。作为 的替代方案str(i).zfill(3) + ".png",您可以使用

template = "{0:03d}.png"
for i in range(4, 396):
    os.rename(template.format(i), template.format(i-1))
于 2012-08-19T14:13:59.607 回答
1
import os
path  = r"C:\your_dir"#i've added r for skipping slash , case you are in windows
os.chdir(path)#well here were the problem , before edit you were in different directory and you want  edit file which is in another directory , so you have to change your directory to the same path you wanted to change some of it's file 
files = os.listdir(path)
for file in files:
    name,ext = file.split('.')
    edited_name=str(int(name)-1)
    os.rename(file,edited_name+'.'+ext)

希望这就是你要找的

于 2012-08-19T14:29:38.180 回答