用python重命名多个文件名

时间:2018-10-01 03:11:40

标签: python batch-rename

我有一个包含学生照片的文件夹,其命名格式为:

StudentID_Name-Number

例如:37_GOWDA-Rohan-1204-06675

我只想保留37,有些学生的ID可能更长(12365857 ....)

假设我需要os库,我该如何使用python做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用类似的方式列出目录的所有内容,提取学生证的名称,找到文件类型,然后创建一个新名称并将其保存在同一目录中:

import os

# full directory path to student pictures
student_pic_path = 'full directory path to student pics'

# get all student picture filenames from path
fnames = os.listdir(student_pic_path)

# iterate over each picture
for fname in fnames:
    # split by underscore and capture student id name
    new_name = fname.split('_')[0]
    # get the file type
    file_type = fname.split('.')[-1]
    # append file type to new name
    new_name = '{}.{}'.format(new_name, file_type)
    os.rename(os.path.join(student_pic_path, fname), 
              os.path.join(student_pic_path, new_name))