如何在python中重命名具有不同扩展名的文件名

时间:2016-03-14 12:16:24

标签: python-2.7

我有一个代码来重命名具有扩展名" .dtshd"的文件名。

import fnmatch
import os
import csv
import glob

with open('New_Names.csv') as f:
          file_pattern = '*.dtshd*'
          file_names = {}
          reader = csv.reader(f)
          for row in reader:
              file_names[row[0]] = row[1]
for file in glob.glob(file_pattern):
        path, filename = os.path.split(file)
        filename_noext, ext = os.path.splitext(filename)
        new_filename = file_names.get(filename_noext, filename_noext)
        os.rename(os.path.join(path, filename),
             os.path.join(path, '{}{}'.format(new_filename, '.bin')))  

这工作正常。但我需要使用" .cpt"重命名文件名。也扩展。我如何在我的代码中添加它。可以请你指导我。

1 个答案:

答案 0 :(得分:2)

看看pathlib(不包括Python 2中的标准库)和shutil

from pathlib import Path
import shutil

for file in Path(".").glob(file_pattern):
    shutil.move(str(file), str(file.with_suffix(".cpt")))