Python批量创建和修改文件名


需求:

学习新思想,争做新青年。
利用一张大学习的截图,生成全班级的截图,并命名为学号+姓名的形式

导入模块

import os
import glob
from shutil import copyfile
import pandas as pd

切换路径

path路径为你存放青年大学习截图的路径,至少要有一张图片

path = input(r"请输入文件夹地址:")
os.chdir(path)
请输入文件夹地址:C:\Users\Administrator\Desktop\files

批量复制文件

  1. path路径为你存放青年大学习截图的路径,至少要有一张图片
  2. num为path路径下照片的数量
  3. total_num为班级人数
os.chdir(path)
total_num = int(input(r'请输入班级人数:'))
path_file_number = glob.glob("*.jpg")  #获取当前文件夹下个数
num = len(path_file_number)
source_file = [i for i in os.listdir(path)][0]
[
    copyfile(source_file, f"{i}" + ".jpg") for i in range(0, total_num - num)
    if num <= total_num
]
print("创建成功")
创建成功

获取学号姓名的对应关系

*.xlsx为你的班级的姓名与学号的excel表格,记得修改read_excel(’ ')为你的路径.
在这里插入图片描述

df = pd.read_excel(
    r"青年大学习\18541花名册.xlsx")
stu_ids = df.iloc[:, 0]
stu_names = df.iloc[:, 1]
l = []
for index in range(len(stu_names)):
    stu_id = str(stu_ids[index])
    stu_name = stu_names[index]
    l.append(stu_id + stu_name)

批量重命名文件

files = os.listdir()
for i in range(num):
    old_name = files[i]
    new_name = [k for k in l]
    if(os.path.exists(new_name[i]+".jpg")):
        continue
    else:
        os.rename(old_name,new_name[i]+".jpg")
    print("修改成功")

在这里插入图片描述

代码截图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

批量创建文件夹

在这里将要用到python中的os模块。

  1. os.path.exists(path) : 判断文件是否存在
  2. os.makedirs(path+dirname) : 创建文件夹 路径 + 名称
import os			#导入模块
path = './test/'	#设置创建后文件夹存放的位置
for i in range(10):	#这里创建10个文件夹
    isExists = os.path.exists(path+str(i))
    if not isExists:						#判断如果文件不存在,则创建
        os.makedirs(path+str(i))	
        print(f"{i} 目录创建成功")
    else:
        print(f"{i} 目录已经存在")	
        continue			#如果文件不存在,则继续上述操作,直到循环结束

匹配特定格式的文件

folder = r"D:\files"
files = os.listdir(folder)
print(files)

def file_filter(f):
    if f[-4:] in ['.jpg', '.png', '.bmp']:
        return True
    else:
        return False

files = list(filter(file_filter, files))
print(files)

批量修改文件名称

在这里将要用到python中的os模块。

  1. os.listdir(dir) : 获取指定目录下的文件名称

  2. os.rename(oldfile,newfile) : 修改文件名字

  3. re.findall() :这里需要用到正则表达式匹配需要的关键字

  4. os.path.isdir(path) : 判断该文件是否文件夹

    我是北山啦,欢迎关注我的CSDN博客:https://beishan.blog.csdn.net/

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐