Skip to main content
 首页 » 编程设计

python之递归重命名文件扩展名

2025年05月04日16sxdcgaq8080

我很难创建一个 python 脚本,该脚本将重命名文件夹中的文件扩展名并继续在子目录中这样做。这是我到目前为止的脚本;它只能重命名顶级目录中的文件:

#!/usr/bin/python 
# Usage: python rename_file_extensions.py 
 
import os 
import sys 
 
for filename in os.listdir ("C:\\Users\\username\\Desktop\\test\\"): # parse through file list in the folder "test" 
 
    if filename.find(".jpg") > 0: # if an .jpg is found 
 
            newfilename = filename.replace(".jpg","jpeg") # convert .jpg to jpeg 
 
            os.rename(filename, newfilename) # rename the file 

请您参考如下方法:

import os 
import sys 
 
directory = os.path.dirname(os.path.realpath(sys.argv[0])) #get the directory of your script 
for subdir, dirs, files in os.walk(directory): 
 for filename in files: 
  if filename.find('.jpg') > 0: 
   subdirectoryPath = os.path.relpath(subdir, directory) #get the path to your subdirectory 
   filePath = os.path.join(subdirectoryPath, filename) #get the path to your file 
   newFilePath = filePath.replace(".jpg",".jpeg") #create the new name 
   os.rename(filePath, newFilePath) #rename your file 

我用文件路径和重命名文件的完整示例修改了 Jaron 的回答