从目录中按顺序重命名文件的可能循环?

时间:2013-05-31 14:41:47

标签: python for-loop rename

我在一个名字长的目录中有100个.fits文件(例如spec-0355-51788-0484.fits spec-0493-51957-0157.fits,spec-0367-51997-0430.fits,spec- 0771-52370-0017.fits等...)

我想知道是否有一个循环将它们全部重命名为整数,以便它看起来像1.fits,2.fits,3.fits,4.fits,.... 100.fits

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

import os
import glob
os.chdir("E:/")
i = 1
for old_file in glob.glob("*.fits"): 
    new = str(i) + ".fits"
    os.renames(old_file, new)
    i=i+1

答案 1 :(得分:0)

我建议您尝试一下。 这将通过在文件名之前添加索引来重命名文件。

示例:

如何安装.fits,Hello world tutorial.fits,.......

将重命名为

1如何安装.fits,2 Hello world tutorial.fits,......

import os

path = 'C:/Users/username/Desktop/My files' #path of folder containing files you want to rename
i = 1
for filename in os.listdir(path):
    os.rename(os.path.join(path,filename), os.path.join(path, str(i)+ " " + filename + '.fits'))
    i = i + 1

如果您根本不想添加原始文件名,则只需删除在os.path.join中添加文件名

os.path.join(path, str(i)+ " " + '.fits')) #for not including original file name