使用 python 重命名多个文件名

Rename multiple filename with python

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

StudentID_Name-Number

例如:37_GOWDA-Rohan-1204-06675

我只想保留37,有些同学可能有更长的ID(123, 65857.....)

如何使用 python 执行此操作,我假设我需要 os 库。

您可以使用类似这样的方法来列出目录的所有内容、提取学生 ID、查找文件类型、创建新名称并将其保存在同一目录中:

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))