导读:本期聚焦于小伙伴创作的《如何使用Python将身份证号命名的文件改为姓名命名?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何使用Python将身份证号命名的文件改为姓名命名?》有用,将其分享出去将是对创作者最好的鼓励。

在实际工作场景中,经常会遇到文件以身份证号命名的情况,比如人事档案、学生资料等,为了方便识别和管理,往往需要将这些文件改成对应的姓名命名。手动逐个修改不仅效率低下,还容易出现重命名错误,使用Python可以轻松实现批量自动化处理。

如何使用Python将身份证号命名的文件改为姓名命名?

实现思路梳理

整个功能的核心逻辑可以分为三个步骤:

  • 准备身份证号和姓名的对应关系,通常可以用字典或者CSV文件存储
  • 遍历目标文件夹下的所有文件,筛选出需要重命名的文件
  • 根据对应关系匹配新文件名,调用重命名函数完成修改

核心模块与函数说明

实现该功能主要用到Python的os模块,其中两个核心函数的作用如下:

  • os.listdir(path):列出指定路径下的所有文件和文件夹名称
  • os.rename(old_path, new_path):将旧路径的文件重命名为新路径

完整实现代码

以下代码实现了从CSV文件读取身份证号和姓名对应关系,批量重命名目标文件夹下以身份证号命名的文件:

import os
import csv

def rename_files_by_id(folder_path, csv_path):
    # 读取身份证号和姓名的对应关系,存储到字典中
    id_name_map = {}
    with open(csv_path, 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        # 假设CSV第一列是身份证号,第二列是姓名,跳过表头
        next(reader)
        for row in reader:
            if len(row) >= 2:
                id_num = row[0].strip()
                name = row[1].strip()
                id_name_map[id_num] = name
    
    # 遍历目标文件夹下的所有文件
    for filename in os.listdir(folder_path):
        # 获取文件的完整路径
        old_file_path = os.path.join(folder_path, filename)
        # 跳过文件夹,只处理文件
        if not os.path.isfile(old_file_path):
            continue
        # 获取文件名(不含扩展名)和扩展名
        file_name_without_ext, file_ext = os.path.splitext(filename)
        # 判断文件名是否为身份证号,且存在于对应关系中
        if file_name_without_ext in id_name_map:
            new_name = id_name_map[file_name_without_ext] + file_ext
            new_file_path = os.path.join(folder_path, new_name)
            # 执行重命名操作
            os.rename(old_file_path, new_file_path)
            print(f"重命名成功:{filename} -> {new_name}")
        else:
            print(f"未找到对应关系,跳过文件:{filename}")

if __name__ == "__main__":
    # 配置目标文件夹路径和CSV对应关系文件路径
    target_folder = "./target_files"
    csv_file = "./id_name_mapping.csv"
    rename_files_by_id(target_folder, csv_file)

注意事项

运行代码前需要注意以下几点:

  • 确保CSV文件的编码格式和代码中读取的编码一致,避免中文乱码
  • 提前备份目标文件夹内的文件,防止重命名出错导致文件丢失
  • 如果存在同名文件,重命名时会抛出异常,可以在代码中添加同名判断逻辑
  • 身份证号作为文件名时如果包含特殊字符,需要先做清洗处理再匹配

扩展说明

如果对应关系不是存储在CSV文件中,而是直接写在代码里,也可以修改读取逻辑,比如使用字典直接定义对应关系:

# 直接定义身份证号和姓名的对应关系
id_name_dict = {
    "110101199001011234": "张三",
    "110101199002022345": "李四",
    "110101199003033456": "王五"
}

只需要把代码中读取CSV的部分替换成上述字典,就可以直接使用内置的对应关系完成重命名操作。

Python文件重命名身份证号姓名映射os模块修改时间:2026-06-04 00:53:01

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。