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

Python 从目录中按顺序重命名文件的可能循环?,python,for-loop,rename,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.适合您可以尝试以下方法: import os import glob os.chdir("E:/")

我在一个长名称目录中有一个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.适合

您可以尝试以下方法:

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

我建议你试试这个。 这将通过在文件名之前添加索引来重命名文件

例如:

如何安装.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

您做了哪些尝试,在Python中获取目录中的文件列表很简单,循环是标准的,重命名文件也不难。@user1821176您应该将“E:/”更改为文件所在的目录areis.txt假定为.fits?回答不错,只有
文件
可能会导致名称与
文件
函数冲突。