Python:如何在使用os重命名文件时保留文件扩展名?

FaC*_*fee 2 python csv file-extension file-rename

假设我有一个包含n个csv文件的文件夹,我想重命名.新的文件名将是一个类似的ABxxxx,xxxx从1到1000的渐进数字.

在这样做时,我如何保留原始文件扩展名,这是csv什么?

到目前为止我所做的已经改变了文件名,但已经删除了扩展名:

directory=r'C:\Me\MyDir'
subdir=[x[0] for x in os.walk(directory)]
subdir.pop(0)

for i in subdir:
    temp_dir=r''+i
    os.chdir(temp_dir)
    a='A'
    b='B'
    for file in glob.glob("*.csv"):
        for i in range(1,1001):
           newname=a+b+i
        os.rename(file,newname)
Run Code Online (Sandbox Code Playgroud)

Sue*_*ver 8

您可以简单地附加'.csv'到您的新文件名:

os.rename(file, newname + '.csv')
Run Code Online (Sandbox Code Playgroud)

通常(对于任何文件类型),更好的方法是首先使用现有扩展os.path.splitext,然后将其附加到新文件名.

oldext = os.path.splitext(file)[1]
os.rename(file, newname + oldext)
Run Code Online (Sandbox Code Playgroud)