使用 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))
我有一个包含学生照片的文件夹,命名格式如下:
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))